PHP插件
php作为web时代最常用的编程语言之一,其广泛应用于web page和web service的开发。
可以很方便的通过c/c++为php开发插件,以方便部署服务。这篇文章以一个hello world程序作为示例解释如何使用c/c++为php开发插件。
该代码支持php5和php7。
本文代码:https://github.com/xylcbd/php_cpp_plugin
基本框架
插件名为allen,提供say函数。say函数输入一个名字,输出”hello $name”。插件的用法如下:
1 |
|
在开发php插件之前请先安装php5或者php7,以及php5-dev或者php7-dev。
然后在工作目录下创建config.m4,内容如下:
1 | PHP_ARG_ENABLE(allen, whether to enable say support, |
注意:config.m4中可以指定头文件目录和库文件目录等,具体设置请查阅php官方网站。
接着在工作目录下创建php_allen.h,内容如下:
1 |
|
以及php_allen.cpp,内容如下:
1 |
|
要注意其中一个宏PHP_MAJOR_VERSION,这个宏下的内容表示了php5和php7的差异,请细体会。
编译设置
准备好上述文件之后,在工作目录下执行命令;
1 | phpize |
编译成功的话,将生成的so复制到/usr/local/lib下或者在原地。然后编辑php.ini文件,在php.ini文件最后加入如下设置(php.ini一般在/etc/php5/cli/php.ini或者/etc/php5/fpm/php.ini):
1 | extension=/usr/local/lib/allen.so |
然后重启php-fpm服务,通过web或者命令行执行say函数,执行无误则表示插件安装完毕。
总结
php大法好,web分分钟。