PHP 插件源代码编译 - Go语言中文社区

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安装实例)最后祝顺利!

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u012313382/article/details/88020441
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 23:03:00
  • 阅读 ( 915 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢