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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
php功能扩展动态模块库开发

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

文档评论(0)

didala + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档