PHP 插件源代码编译

需求:一个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

最后我们就可以makemake 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.ini,或者前面创建的 XXX.ini 文件,添加以下内容:

; BEGIN XXX

[文件名字]
extension=XXX.so
XXX.root_dir=安装路径

; 各种其他管理配置,如日志等等,不需要不用配置
;具体需要参看源代码的介绍
; XXX.backend_url=

; END XXX

重启PHP服务,访问刚刚的info.php,查找你的扩展是否安装成功!
基本步骤是这样的,由于不便暴露我在开发什么,所以就不介绍可能遇见的坑,这些如果我们理解每个步骤的配置,还是很难出现问题的,我这里就没出现问题,再给一个其他人安装的实例(pdo_mysql安装实例)最后祝顺利!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值