- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows环境下PHP动态链接库开发探究
Windows环境下PHP动态链接库开发探究 摘要:PHP是当前应用十分广泛的Web编程语言。虽然PHP为开发者提供了大量扩展函数,但在很多特殊应用场合,仍需要自定义开发扩展函数库。当前从操作层面完整介绍PHP扩展函数开发技术的资料还十分匮乏。本文以Windows平台为例,详细探究了在VS2008环境下开发PHP5.4.X版本的扩展函数(动态链接库)的实现思路和步骤,并通过实践进行了谏言
关键词:PHP;动态链接库;扩展
中图分类号:TP311.1 文献标识码:A 文章编号:1007-9416(2017)04-0207-01
1 引言
PHP(Personal Homepage:HyperText Preprocessor)是一种应用十分广泛的Web编程语言。该语言的一个重要特点是提供了大量扩展函数,帮助开发者完成常用操作。在Windows平台上,这些函数是以若干个DLL(Dynamic Link Library,动态链接库)方式提供的。但这些函数仍不能完全满足开发者的个性化需求。在很多特殊应用场合下,需要自行开发动态链接库,对PHP进行功能扩展。但由于PHP的版本众多,源代码体系十分复杂,官方的技术支持资料又比较缺乏,让很多开发者望而却步。本文以Windows平台为例,对PHP动态链接库开发的一般过程和相关技术进行了详细研究,给出了详细步骤和具体操作方法,并通过实践进行了验证
2 开发思路与过程
PHP属于开放源代码软件,其源代码可以在官方网站下载得到。PHP的源代码使用C语言编写,需要使用?译工具进行编译和调试。因此,需要下载PHP的源代码文件,使用PHP官方提供的PHP扩展开发模板创建程序“骨架”,使用相应版本的C语言开发环境进行编译和调试,最终编译出所需要的DLL文件。必须指出的是,PHP的版本和编译器有直接关系。本文以PHP5.4版本为例,需要搭配Visual Studio 2008(VC9)环境进行调试和编译
2.1 开发环境搭建
基本的PHP动态链接库开发环境包括:(1)Visual Studio 2008;(2)PHP5.4.X Windows平台二进制包。使用IIS作为调试软件时,需使用PHP的线程安全(ThreadSafe,TS)版本,如果使用APACHE作为调试软件,需使用非线程安全(Non-ThreadSafe,NTS)版本;(3)PHP5.4.45源代码包;(4)PHP SDK开发包;(5)与PHP SDK版本对应的deps包;(6)MSys1.0小型GUN环境工具[1]
2.2 重新编译PHP
从官方网站获取的PHP源代码和SDK中缺少开发动态链接库所必须的config.win32.h,需要通过对PHP进行重新编译来生成。其步骤如下:
(1)创建自定义目录C:\php_studio\作为工作目录,以下用%dir%表示本目录;(2)解压PHP SDK至 %dir%php_sdk,使用命令行窗口运行VS2008安装路径下的vcvarsall.bat批处理文件。运行后会输出运行成功的提示。(3)进入%dir%php_sdk\bin目录,分别运行批处理文件“phpsdk_setvars.bat”和“phpsdk_buildtree.bat php54dev”,在bin目录下产生php54dev文件夹。(4)将deps包解压到 %dir%\php-sdk\php54dev\vc9\x86\目录,覆盖掉该目录下原有的deps目录;解压PHP源代码包到%dir%\php_stdio\php-sdk\php54dev\vc9\x86\,文件夹名为php5445,本文件夹即PHP源代码的根目录。(5)使用命令行进入PHP源代码根目录,运行“buildconf”命令。(6)运行“configure --disable-all --enable-cli”命令,以最小化方式编译PHP。命令执行后,有一系列输出,结尾部分显示“Type nmake to build PHP”。打开源代码文件夹的main子文件夹,发现自动创建了config.win32.h,这说明PHP编译成功
2.3 创建新扩展框架
PHP为开发者提供了动态链接库文件的框架,运行ext_skel_ win32.php可以自动创建,为后面的编写代码提供基础[2]。其步骤如下:
(1)命令行下进入PHP源代码目录下的ext文件夹,其中有ext_skel_win32.php文件,该文件即Windows下创建扩展骨架的工具。执行“php ext_skel_win32.php --extname=myFunc”命令,其中,myFunc为自定义的扩展名称。运行后得到一系列屏幕输出(略)。(2)打
您可能关注的文档
- A Study of Shakespeare’s Creative Style.doc
- A Study of The Storm from the Perspective of Eco―feminism.doc
- ABC公司产品差异化竞争战略探究.doc
- ADCP在水文防汛应急监测中应用.doc
- A Contrastive Study of English and Chinese Taboos in Cross―cultural Communication.doc
- ADSS光缆电腐蚀解决方案探析.doc
- Airbnb中国区发展现状及对策探究.doc
- Alenia SSR―M二次雷达接收机中AGC电路故障分析.doc
- Altium Designer在电子电路CAD课程中教改探索.doc
- An Analysis of Rural Students’ Psychological Obstacles in English Learning.doc
最近下载
- 肉牛生产性能测定技术规范-编制说明.pdf VIP
- 中医药治疗乙型肝炎的优势及存在的问题.docx VIP
- 高危新生儿眼病筛查分类管理专家共识(2024).pptx VIP
- 24J306国家建筑标准设计图集.docx
- 汽车轮毂结构优化与轻量化设计研究.docx VIP
- 生物质呋喃基新材料呋喃二甲酸(FDCA)项目可行性研究报告写作模板-申批备案.doc
- 2025年搬运机器人行业研究报告及未来五至十年行业预测分析报告.docx
- FDCA行业动态报告:FDCA发展潜力巨大,下游制成PEF替代空间广阔.docx
- 学前儿童美术教育与活动指导第4版全套教学课件.pptx
- 预算编制服务投标方案(技术标).pdf
文档评论(0)