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文档。上传文档
查看更多
xjx-jx@163.com 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的服务信息,其中就包含了新开发的模块信息 html head /head body ?php phpinfo(); ? /body /html 写如下的php代码可调用上面的扩展库功能 用浏览器访问此网页的结果如下 当调试OK后,就可去掉库代码中的输出,就不会在网页上输出上图红线标的信息! 这段代码是由库模板生成程序自动产生的 完

文档评论(0)

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

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

1亿VIP精品文档

相关文档