加入收藏 | 设为首页 | 会员中心 | 我要投稿 南京站长网 (https://www.025zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP 插件源代码编译

发布时间:2022-10-21 14:32:01 所属栏目:PHP教程 来源:互联网
导读: 需求:一个PHP插件的源代码,自己想在这个基础上进行二次开发
实践环境:PHP、linux系统、G++环境
步骤:
1、环境的依赖不介绍了,网上的教程一堆。
2、生成Makefile文件
# 如果之前编译过

需求:一个PHP插件的源代码,自己想在这个基础上进行二次开发

实践环境:PHP、linux系统、G++环境

步骤:

1、环境的依赖不介绍了,网上的教程一堆。

2、生成Makefile文件

# 如果之前编译过,清理下临时文件
#如果没有配置全局,则加上phpize的路径就可以了
#PHP源码里面有一些可以自己去编译安装,在源码的ext文件夹下,找到自己想装的插件根目录就可以了
#phpize在自己装的php路劲的bin目录下,或者自己想要的PHP版本的bin目录下
phpize --clean
# 生成 configure 文件
phpize

这个时候我们得看看./configure文件具体有什么东西了,这个是以后源代码安装东西必须注意的点!具体命令是:

./configure --help

下面给出一个我自己装的东西的效果图:

在这里插入图片描述

我们可以看到这里最好一行需要加载php-config的路径,这个东西也是你的插件支持什么PHP版本的重要依赖。其他很多有用的配置也能在这个help里面找到!

我这里的示例命令是:

#你想带什么插件信息编译,或者其他的参数信息,都可以运用./configure里面的介绍
[root@localhost php5]# ./configure --with-php-config=/phpstudy/server/php/bin/php-config

最后我们就可以make跟make install了!最后会生存.so文件(一般在modules文件夹下)。

其他彩蛋:有的插件安装需要修改php.ini配置文件,但是很多开源的项目中在./configure中就配置了路径,直接安装就完事了。如果没配置怎么办?

没事,我们生成.so文件后。在php.ini中添加一行extension=XXX.so,具体示例:

#vi与vim都行,这里装个逼用vim,vim是彩色打开的
vim /usr/local/etc/php.ini

重启php-fpm跟你配置的服务器就好了,我这里是在phpstudy下面,所以直接重启phpstudy。

phpstudy restart

这下面没有php-ini怎么办?或者装了没用?没事,继续往下看:

这时我们在 web 目录下面,建立一个 info.php,并填写如下内容:

#特别注意,测了之后记得删掉,不然有可能会泄露敏感信息
<?php phpinfo();?>

在浏览器打开这个页面,搜索extension_dir,确认其安装目录,继续搜索Additional .ini files parsed,在这个目录下创建一个新的ini文件,如XXX.ini,如果找不到,就搜索Loaded Configuration File,确认ini配置文件路径,名字是php.ini

然后我们复制刚刚生成的XXX.so文件到扩展文件,修改权限为755,最后,修改 php.iniphp源代码,或者前面创建的 XXX.ini 文件,添加以下内容:

; BEGIN XXX
[文件名字]
extension=XXX.so
XXX.root_dir=安装路径
; 各种其他管理配置,如日志等等,不需要不用配置
;具体需要参看源代码的介绍
; XXX.backend_url=
; END XXX

重启PHP服务,访问刚刚的info.php,查找你的扩展是否安装成功!

基本步骤是这样的,由于不便暴露我在开发什么,所以就不介绍可能遇见的坑,这些如果我们理解每个步骤的配置,还是很难出现问题的,我这里就没出现问题,再给一个其他人安装的实例(pdo_mysql安装实例)最后祝顺利!

(编辑:南京站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!