PHP扩展写法简单示例-HelloWorld

用C语言,php的扩展的书写格式(ZEND API)写PHP扩展的步骤:
我用的php环境 php 5.2.5,完成最基本功能 helloword

 
 
  1. cd /php5.2.5/ext 

生成骨架 ./ext_skel --extname=cltest 会在当前目录建立一个cltest的目录

进入该目录 cd cltest

修改 配置文件config.m4

 
 
  1. vi cltest/config.m4   

注释3个dnl [dnl代表注释,对应shell的#]

 
 
  1. PHP_ARG_WITH(my_module, for my_module support,  
  2. Make sure that the comment is aligned:  
  3. [ --with-my_module Include my_module support]) 

修改完毕。

 
 
  1. vi cltest.c 

改成这样:

 
 
  1. function_entry my_module_functions[] = {  
  2. PHP_FE(say_hello, NULL) /* ?添加这一行代码   注册函数say_hello() */ 
  3. PHP_FE(confirm_my_module_compiled, NULL) /* For testing, remove later. */ 
  4. {NULL, NULL, NULL} /* Must be the last line in my_module_functions[] */ 
  5. }; 

另外在文件的最后添加下列代码

 
 
  1. PHP_FUNCTION(say_hello)  
  2. {  
  3.         RETURN_STRINGL("hello world",100,1);  

函数程序主体修改完毕。

 
 
  1. vi php_cltest.h 

在文件中PHP_FUNCTION(confirm_my_module_compiled);一行前面添加下面的代码 函数定义PHP_FUNCTION(say_hello);修改完毕。 

找到这个执行文件phpize ,在cltest目录下执行命令,用于加载动态链接库会在当前的目录下生成一个目录叫modules他的下面就放着你要的cltest.so文件

 
 
  1. /usr/local/php/bin/phpize  
  2. ./configure --enable-cltest --with-apxs2=/usr/local/apache2/bin/apxs --with-php-config=/usr/local/php/bin/php-config  
  3. make  
  4. make install  

会cp modules/cltest.so /usr/local/php/include/php/ext/其余的就是修改 php.ini加载该.so webserver要生效需要重启。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值