PHP扩展开发之动态加载so模块与静态重编译PHP(下)
2016-10-20 11:51
886 查看
1.在/usr/local/src/php-7.0.9/ext目录下创建my_dynamic.def
2.生成框架
后面的操作均在php源码目录/usr/local/src/php-7.0.9中进行
3.执行./buildconf 重新构建configure
最后一句:
-with-*=/usr/local/src/php-7.0.9/ext/my_dynamic
*与config.m4中 [ –with-my_dynamic Include my_dynamic support])名称一致,
以上目录根据自身情况填写,笔者PHP的环境安装详见:http://blog.csdn.net/xujunabc999/article/details/52588145
4.编译:
5.测试是否编译成功
6.编写my_dynamic.c中的my_dynamic函数
查找PHP_FUNCTION(my_dynamic),修改为:
7.保存后再次编译
8.验证是否成功
在/ext//my_dynamic下编写test.php测试文件
至此,my_dynamic模块已完全编译到PHP中
[root@bogon ext]$ vi my_dynamic.def string my_dynamic()每行一个函数,行尾无分号
2.生成框架
[root@bogon ext]$ ./ext_skel --proto=my_dynamic.def --extname=my_dynamic --skel=skeleton/ [root@bogon ext]# cd .. [root@bogon php-7.0.9]# vi ext/my_dynamic/config.m4 删注释后 PHP_ARG_ENABLE(my_dynamic, whether to enable my_dynamic support, dnl Make sure that the comment is aligned: [ --enable-my_dynamic Enable my_dynamic support])
后面的操作均在php源码目录/usr/local/src/php-7.0.9中进行
3.执行./buildconf 重新构建configure
[root@bogon php-7.0.9]# ./buildconf --force [root@bogon php-7.0.9]# ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd=/usr/local/gd --with-png-dir=/usr/lib --with-jpeg-dir=/usr/lib --with-freetype-dir=/usr/lib --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype --with-my_dynamic=/usr/local/src/php-7.0.9/ext/my_dynamic
最后一句:
-with-*=/usr/local/src/php-7.0.9/ext/my_dynamic
*与config.m4中 [ –with-my_dynamic Include my_dynamic support])名称一致,
以上目录根据自身情况填写,笔者PHP的环境安装详见:http://blog.csdn.net/xujunabc999/article/details/52588145
4.编译:
[root@bogon php-7.0.9]# make [root@bogon php-7.0.9]# make install
5.测试是否编译成功
[root@bogon php-7.0.9]# ./sapi/cli/php -f ext/my_dynamic/my_dynamic.php
6.编写my_dynamic.c中的my_dynamic函数
查找PHP_FUNCTION(my_dynamic),修改为:
PHP_FUNCTION(my_dynamic) { php_printf("The Best or Nothing\n"); RETURN_TRUE; }
7.保存后再次编译
[root@bogon php-7.0.9]# make install
8.验证是否成功
在/ext//my_dynamic下编写test.php测试文件
[root@bogon php-7.0.9]# /usr/local/php7/bin/php ./ext//my_dynamic/test.php
至此,my_dynamic模块已完全编译到PHP中
相关文章推荐
- PHP扩展开发之动态加载so模块与静态重编译PHP(上)
- Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
- Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
- 从给编译好的LAMP环境中的PHP添加Xdebug模块分析动态加载
- 安装php的mcrypt扩展(动态加载编译)
- Linux/FreeBSD下用C语言开发PHP的so扩展模块例解
- 用apache的动态so模式编写和编译php扩展
- 用apache的动态so模式编写和编译php扩展
- 用phpize编译动态扩展模块
- Linux/FreeBSD下用C语言开发PHP的so扩展模块例解
- 用apache的动态so模式编写和编译php扩展
- Linux/Ubuntu下C语言开发PHP的.so扩展模块过程
- 通过源码包php-5.4.9.tar.gz编译安装PHP之后,如何加载动态模块,不需要重新配置PHP
- nginx php动态编译加载模块.
- PHP扩展框架各个宏编译成so动态链接库文件之后对应的函数符号对照