我的第一个php扩展
2016-11-29 13:44
351 查看
一、进入php源码包,找到ext文件夹
cd /owndata/software/php-5.4.13/ext
文件夹下放的都是php的相关扩展模块
二、生成自己的扩展文件夹和相关文件
php支持开发者开发自己的扩展,提供了ext_skel骨架,用来构建扩展基本文件
./ext_skel --extname=myext
运行完成后,会在ext目录下生产一个myext扩展目录
三、编写一个hello world简单测试扩展
cd myext
1.编辑myext目录下的config.m4文件
将上面这段改成
2.编辑php_myext.h文件
修改php_myext.h,看到PHP_FUNCTION(confirm_myext_compiled); 这里就是扩展函数声明部分,可以增加一
PHP_FUNCTION(myext_helloworld);
3.注册到zend引擎里面,编辑myext.c文件在这个里面增加一行PHP_FE(myext_helloworld, NULL)
最后在文件末尾加入myext_helloworld执行代码
四、编译php扩展
在myext目录下运行phpize
/usr/local/webserver/php/bin/phpize
安装扩展
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make && make install
然后在php安装的目录下生产.so的文件
/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/myext.so
复制myext.so文件到php安装的扩展目录下
cp myext.so /usr/local/webserver/php/ext/
编辑php.ini文件加入一行扩展路径
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这个方法
php --rf "myext_helloworld"
确认成功后测试myext打印helloworld
/usr/local/webserver/php/bin/php -r "myext_helloworld('test');"
或者创建demo.php
/usr/local/webserver/php/bin/php demo.php
运行后输出
my first ext,Hello World!
自此扩展开发小demo就实现了
cd /owndata/software/php-5.4.13/ext
文件夹下放的都是php的相关扩展模块
二、生成自己的扩展文件夹和相关文件
php支持开发者开发自己的扩展,提供了ext_skel骨架,用来构建扩展基本文件
./ext_skel --extname=myext
运行完成后,会在ext目录下生产一个myext扩展目录
三、编写一个hello world简单测试扩展
cd myext
1.编辑myext目录下的config.m4文件
将上面这段改成
2.编辑php_myext.h文件
修改php_myext.h,看到PHP_FUNCTION(confirm_myext_compiled); 这里就是扩展函数声明部分,可以增加一
PHP_FUNCTION(myext_helloworld);
3.注册到zend引擎里面,编辑myext.c文件在这个里面增加一行PHP_FE(myext_helloworld, NULL)
最后在文件末尾加入myext_helloworld执行代码
在myext目录下运行phpize
/usr/local/webserver/php/bin/phpize
安装扩展
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make && make install
然后在php安装的目录下生产.so的文件
/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/myext.so
复制myext.so文件到php安装的扩展目录下
cp myext.so /usr/local/webserver/php/ext/
编辑php.ini文件加入一行扩展路径
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这个方法
php --rf "myext_helloworld"
确认成功后测试myext打印helloworld
/usr/local/webserver/php/bin/php -r "myext_helloworld('test');"
或者创建demo.php
/usr/local/webserver/php/bin/php demo.php
运行后输出
my first ext,Hello World!
自此扩展开发小demo就实现了
相关文章推荐
- ubuntu 下第一个php扩展开发记录
- PHP扩展开发-01:第一个扩展
- 关于windows下基于php7.0.2下编写的第一个扩展
- PHP开发第一个扩展
- 第一个php5.6扩展
- Hello World: 第一个PHP扩展
- 记录第一个php扩展开发
- PHP 扩展开发[从零开始编写第一个PHP扩展]
- 第一个有点作用的PHP扩展
- php---第一个扩展开发
- PHP扩展开发-01:第一个扩展
- PHP扩展开发:第一个扩展
- ubuntu 下第一个php扩展开发记录
- PHP扩展:第一个程序
- LINUX下PHP扩展开发:第一个C扩展
- PHP扩展开发(2)-第一个扩展
- 开发的第一个PHP扩展
- PHP扩展开发:第一个扩展
- 【视频】从零开始编写第一个PHP扩展
- 关于windows下基于php7.0.2下编写的第一个扩展