php扩展开发入门demo示例
php  /  管理员 发布于 6年前   124
本文实例讲述了php扩展开发。分享给大家供大家参考,具体如下: 一、进入php源码包,找到ext文件夹 文件夹下放的都是php的相关扩展模块 二、生成自己的扩展文件夹和相关文件 php支持开发者开发自己的扩展,提供了ext_skel骨架,用来构建扩展基本文件 运行完成后,会在ext目录下生产一个myext扩展目录 三、编写一个hello world简单测试扩展 cd myext 1.编辑myext目录下的config.m4文件 将上面这段改成 2.编辑php_myext.h文件 修改php_myext.h,看到 3.编辑myext.c文件在这个里面增加一行 最后在文件末尾加入myext_helloworld执行代码 四、编译php扩展 在myext目录下运行phpize /usr/local/webserver/php/bin/phpize 安装扩展 然后在php安装的目录下生产.so的文件 /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/myext.so 复制myext.so文件到php安装的扩展目录下 编辑php.ini文件加入一行扩展路径 重启php-fpm 查看php扩展是否安装进去了 确认成功后测试myext打印helloworld 或者创建demo.php /usr/local/webserver/php/bin/php demo.php 运行后输出 my first ext,Hello World! 自此扩展开发小demo就实现了 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP扩展开发教程》、《PHP网络编程技巧总结》、《php curl用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php字符串(string)用法总结》 希望本文所述对大家PHP程序设计有所帮助。cd /owndata/software/php-5.4.13/ext
./ext_skel --extname=myext
dnl PHP_ARG_WITH(myext, for myext support,dnl Make sure that the comment is aligned:dnl [ --with-myext Include myext support])
PHP_ARG_WITH(myext, for myext support, [ --with-myext Include myext support])
PHP_FUNCTION(confirm_myext_compiled);
这里就是扩展函数声明部分,可以增加一PHP_FUNCTION(myext_helloworld);
PHP_FE(myext_helloworld, NULL)
const zend_function_entry myext_functions[] = { PHP_FE(confirm_myext_compiled, NULL) /* For testing, remove later. */ PHP_FE(myext_helloworld, NULL) PHP_FE_END /* Must be the last line in myext_functions[] */};
PHP_FUNCTION(myext_helloworld){ char *arg = NULL; int arg_len, len; char *strg; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) { return; } php_printf("my first ext,Hello World!\n"); RETRUN_TRUE;}
./configure --with-php-config=/usr/local/webserver/php/bin/php-config make && make install
cp myext.so /usr/local/webserver/php/ext/
extension=/usr/local/webserver/php/ext/myext.so
service php restart
/usr/local/webserver/php/bin/php -m|grep myext
/usr/local/webserver/php/bin/php -r "myext_helloworld('test');"
您可能感兴趣的文章:
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号