PHP扩展库开发
来源:互联网 发布:uefi修复windows引导 编辑:程序博客网 时间:2024/05/16 08:19
进入到下载的php源码文件中的ext文件夹下
1.cd XXXXX/ext
2.执行ext_skel命令
./ext_skel --extname=my_module
3.在ext的文件夹下会多出一个名为my_module的文件夹
进入到my_module的文件夹中
cd my_module
4.打config.m4文件
找到如下三行
dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
dnl Make sure that the comment is aligned:
dnl [ --enable-my_module Enable my_module support])
把这三行前面的dnl去掉,保存
5.修改php_my_module.h文件
在 PHP_FUNCTION(confirm_my_module_compiled);后面加入一行
PHP_FUNCTION(my_func);
6.my_module.c文件的
const zend_function_entry my_module_functions[] = {
PHP_FE(confirm_my_module_compiled, NULL) /* For testing, remove later. */
PHP_FE_END /* Must be the last line in my_module_functions[] */
};中加入PHP_FE(my_func,NULL)
加入后的代码如下:
const zend_function_entry my_module_functions[] = {
PHP_FE(confirm_my_module_compiled, NULL) /* For testing, remove later. */
PHP_FE(my_func,NULL)
PHP_FE_END /* Must be the last line in my_module_functions[] */
};
7.在my_module.c文件的结尾处加入my_func函数的实现代码
PHP_FUNCTION(my_func){
php_printf("这是我的第一个扩展库");
}
8.编译安装自己的扩展库
进入到my_module目录下
cd ext/my_module
执行 /usr/loca/php/bin/phpize
./configure --with-php-config=/usr/loca/php/bin/php-config
make & make install
9.在/usr/loca/php/lib/php/extensions/no-debug-non-zts-XXXX目录下生成了一个my_module.so的文件
打开/usr/local/php/lib/php.ini加入一行配置
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-XXXX/my_module.so
10.生启apache服务
编写一个测试文件test.php
<?phpmy_func();?>
打开浏览器输入
localhost/myweb/test.php
回车在浏览器的页面上显示"这是我的第一个扩展库"
至此一个新的php扩展库开发完成
- PHP扩展库开发
- PHP扩展开发-创建扩展
- Windows下php扩展库C++开发
- linux下php开发自定义扩展库
- 开发PHP扩展模块
- 开发PHP扩展模块
- PHP扩展开发笔记
- 开发php扩展
- 开发 PHP 扩展 DLL
- php扩展开发-准备工作
- 开发PHP扩展模块
- 开发 PHP 扩展 DLL
- PHP扩展开发
- php扩展开发
- php扩展开发
- PHP扩展开发进阶
- PHP 开发框架扩展
- php扩展开发
- 【黑马程序员】错误:“未安装全文搜索或无法加载某一全文组件”的解决方法
- cocos2d-x 自定义Touch事件处理类
- Android sdcard创建文件夹及写入工程目录视频资源
- iOS ASI http 框架详解
- 使用GruntJS搭建前端本地开发环境 (零)
- PHP扩展库开发
- iOS开发如何实现消息推送机制
- 逆向与反汇编工具
- 生成图片验证码
- 利用rowid删除重复记录保留一行
- js,文本框输入,点回车,触发,确定,兼容IE,FF等
- ### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value f
- CentOS 中使用Windows字体
- 多队列网卡简介以及Linux通过网卡发送数据包源码解读