php功能模块开发,php功能扩展动态模块库开发.docx

41528d3028836879cd698677c3999917.gifphp功能扩展动态模块库开发.docx

xjx-jx@1/11php功能扩展模块库开发通过php扩展库的开发,对原有自开发的C动态库进行简单的二次封装,即可在PHP网页中调用自开发的库功能,减少复杂逻辑的重复开发!1、WEB服务的配置要支持扩展库的加载,需对php的配置进行修改打开相应功能修改/usr/local/arm/php5.5.17/etc/php.ini中的enable_dl=On和extension_dir=“/usr/local/arm/php5.5.17/lib“安装的php的目录结构2、Linux库示例程序代码如下:xjx-jx@2/11执行如下命令编译生成动态库:生成库文件把此libxyz开头的库文件复制到目标系统的库目录下3、Php扩展库开发过程本文示例环境是基于php-5.5.17的开源软件版本下的(1)进到源码目录php-5.5.17/ext/下执行ext_skel,注意执行此脚本时,当前目录必须是ext在ext目录下会自动生成libphp_xyz目录及其下的相关文件,这些文件是php扩展库的基本模板内容,然后就可把libphp_xyz目录移到工程目录下xjx-jx@3/11(2)在libphp_xyz目录下新建Makefile,内容如下:注意:-DCOMPILE_DL_LIBPHP_XYZ在libphp_xyz.c文件代码中会引用,生成的不同的库则会不同,具体从代码中复制过来,如果此宏定义与代码文件中对应的宏不一致,则库无法被php服务加载的!目录内容如下:(3)修改libphp_xyz.c和php_libphp_xyz.h文件,加入自己需要的功能函数php_libphp_xyz.h文件:xjx-jx@4/11xjx-jx@5/11libphp_xyz.c文件xjx-jx@6/11注意:此处的COMPILE_DL_LIBPHP_XYZ就是Makefile文件中用到的xjx-jx@7/11xjx-jx@8/11(4)修改完代码后,执行make进行编译,如果正确没有报错的话,则会生成库文件libphp_xyz.so4、把上一步生成的库libphp_xyz.so放到php的对应lib目录中libxyz.solibxyz.so.1libxyz.so.1.0libxyz.so.1.0.0房到系统可搜索的目录中xjx-jx@9/11然后修改php.ini文件,把libphp_xyz.so加进去以让php服务加载,之后重启web服务(lighttpd)注意:必须重启web服务才能生效5、以上都成功完成的话,用下面的php网页浏览就可显示查看php的服务信息,其中就包含了新开发的模块信息6、写如下的php代码可调用上面的扩展库功能xjx-jx@10/11用浏览器访问此网页的结果如下当调试OK后,就可去掉库代码中的输出,就不会在网页上输出上图红线标的信息!xjx-jx@11/11这段代码是由库模板生成程序自动产生的完

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值