环境:linux(centos)+php7.1.7
一:前期准备
1、下载php源码包
下载地址:https://www.php.net/releases/
下载到/root/websoft/php-7.1.7.tar.gz
2、解压
tar -zxvf php-7.1.7.tar.gz
3、进入到ext目录
cd php-7.1.7/ext
二:扩展开发
1、生成扩展骨架
./ext_skel --extname=resoncounter
2、进入新生成的扩展目录,如下文件:
3、配置config.m4
去掉“dnl PHP_ARG_WITH(resoncounter, for resoncounter support,”和“dnl [ --with-resoncounter Include resoncounter support])”前面的注释(dnl是注释的意思),去掉后的效果如下图:
4、编写扩展
vim resoncounter.c
PHP_FUNCTION(smart_counter) { long arg_add1 = 0; long arg_add2 = 0; long sum = 0; size_t arg_len; if (zend_parse_parameters(ZEND_NUM_ARGS(), "ll", &arg_add1, &arg_add2, &arg_len) == FAILURE) { return; } sum = arg_add1 + arg_add2; RETURN_LONG(sum); }
在zend_function_entry中加入:PHP_FE(smart_counter, NULL)
5、生成扩展
①在当前目录下执行“/usr/local/php5.3.3/bin/phpize”(也可以用php7)
②执行“./configure --prefix=/usr/local/php5.3.3”
③执行“make && make install”
出现如下提示说明编译成功:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php7.1.7/lib/php/extensions/no-debug-non-zts-20160303/
三:安装并测试
1、修改php.ini
vim /usr/local/php7.1.7/etc/php.ini
在该文件中添加:
extension=/usr/local/php7.1.7/lib/php/extensions/no-debug-non-zts-20160303/resoncounter.so
2、重启php
①找到php进程
②kill -USR2 进程号
3、测试扩展
结果如下:
文章出自:https://www.daixiaorui.com/read/289.html 本站所有文章,除注明出处外皆为原创,转载请注明本文地址,版权所有。
确实是这样 王者荣耀修改器下载http://www.sxjzxny.com/