本文实例讲述了PHP扩展开发。分享给大家供大家参考,具体如下:
cd /owndata/software/PHP-5.4.13/ext
PHP支持开发者开发自己的扩展,提供了ext_skel骨架,用来构建扩展基本文件
./ext_skel --extname=myext
运行完成后,会在ext目录下生产一个myext扩展目录
三、编写一个hello world简单测试扩展
cd myext
1.编辑myext目录下的config.m4文件
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,[ --with-myext Include myext support])
修改PHP_myext.h,看到PHP_FUNCTION(confirm_myext_compiled);
这里就是扩展函数声明部分,可以增加一
PHP_FUNCTION(myext_helloworld);
3.编辑myext.c文件在这个里面增加一行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; }
四、编译PHP扩展
在myext目录下运行PHPize
/usr/local/webserver/PHP/bin/PHPize
安装扩展
./configure --with-PHP-config=/usr/local/webserver/PHP/bin/PHP-config make && make install
/usr/local/webserver/PHP/lib/PHP/extensions/no-debug-non-zts-20100525/myext.so
cp myext.so /usr/local/webserver/PHP/ext/
extension=/usr/local/webserver/PHP/ext/myext.so
重启PHP-fpm
service PHP restart
查看PHP扩展是否安装进去了
/usr/local/webserver/PHP/bin/PHP -m|grep myext
确认成功后测试myext打印helloworld
/usr/local/webserver/PHP/bin/PHP -r "myext_helloworld('test');"
或者创建demo.PHP
<?PHP echo myext_helloworld('test'); ?>
/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程序设计有所帮助。