详解Window7 下开发php扩展
详解在Window7系统下开发PHP扩展的相关资料
一、查看PHP版本及线程安全信息
在开发PHP扩展之前,首先要了解你的PHP环境信息。通过phpinfo()函数,我们可以得知如下信息:PHP Version 5.4.34,这表明我们正在使用的是5.4.34版本的PHP。线程安全已启用,且是通过VC9编译的。这些信息对于后续的开发工作至关重要。
二、开发前的准备工作
1. 软件与环境准备:为了开发PHP扩展,我们需要安装php 5.3-5.4 Visual C++ 9.0(即Visual Studio 2008)。为了方便在Windows环境下模拟Linux环境,我们需要安装Cygwin。
2. 源代码与工具下载:我们需要下载PHP的编译后程序和编译前的源码。编译后的程序路径通常为php-5.4.45-Win32-VC9-x86\,而编译前的源码路径为php-5.4.45-src\。还需下载php sdk文件,其下载地址通常为
三、环境配置
1. 配置bison.exe路径:解压php-sdk-binary-tools-20110915.zip文件,将bison.exe所在的bin目录添加到系统path中。
2. 配置php源码目录:将php-5.4.45-Win32-VC9-x86\dev\php5ts.lib 复制到php-5.4.45-src\Release_TS\,并新建config.win32.h文件于php-5.4.45-src\main\目录下,内容应包括:define SIZEOF_LONG 4 和 define PHP_COMPILER_ID "VC9"。这里的“VC9”应与你的编译环境相匹配。
四、进入PHP源码目录
找到PHP源码目录,例如php-5.4.45-src\ext\ext_skel_win32.php。这个文件包含了一些重要的信息,并且为我们提供了开发PHP扩展的基础框架。需要注意的是,如果在Windows系统上开发,需要确保已安装Cygwin,并正确配置其路径。还需要调整环境变量PATHEXT以包含.PHP。
开发PHP扩展是一个相对复杂的过程,需要对PHP和C语言有深入的了解。以上内容仅为开发前的准备和基础配置步骤,具体的开发过程还需根据实际需求进行深入研究和实践。希望这篇文章能为想要在Window7系统下开发PHP扩展的朋友们提供一些参考和帮助。在神秘的编程世界中,我们有时需要深入到源代码的海洋,亲手编织我们的PHP扩展。下面是一个简易的指南,指导你如何一步步从cmd运行,到创建并测试自己的PHP扩展。
第一步:启动命令提示符并进入PHP源码目录
打开cmd,导航至你的PHP源码目录 `php-5.4.45-src\ext`。这里是所有PHP扩展的源头之地。
第二步:运行PHP扩展生成工具
在这里,我们将使用 `php ext_skel_win32.php` 工具来创建一个新的扩展骨架。执行命令 `php ext_skel_win32.php --extname=myphpexs`,记住要将php.exe所在的目录加入path,并将扩展名字替换为你自己的扩展名。
第三步:生成扩展文件夹与文件
成功运行后,你会在ext目录下看到新生成的 `myphpexs` 文件夹。它包含了创建扩展所需的基础文件。
第四步:使用Visual Studio 2008打开并编译
打开Visual Studio 2008,并导入 `myphpexs.dsp` 文件。将解决方案配置改为Release模式,并执行生成命令。一切顺利的话,你会在php源码根目录的Release_TS文件夹中看到生成的 `php_myphpexs.dll` 文件。
第五步:安装并测试你的扩展
将 `php_myphpexs.dll` 放到PHP的扩展目录中,并在 `phpi` 文件中添加 `extension=php_myphpexs.dll` 以启用它。
第六步:编写测试脚本
创建一个新的PHP脚本文件 `test.php`,并写入以下内容:`echo confirm_myphpexs_piled('test');`。这是检查你的扩展是否成功运行的简单方法。
第七步:运行测试并确认成功
当运行测试文件并看到 "Congratulations! You have successfully modified ext/myphpext/config.m4. Module 23 is now piled into PHP." 这样的消息时,说明你的扩展已经成功集成到PHP中了。
最后一点小提示:
`confirm_myphpexs_piled` 是创建扩展时自带的测试函数。在编辑你自己的扩展内容时,你可以选择删除或替换这个函数。现在,你已经掌握了从零开始创建PHP扩展的基本步骤。在这个基础上,你可以根据自己的需求进一步拓展和修改,编程的无限可能。
编程语言
- 详解Window7 下开发php扩展
- MSSQL数据类型及长度限制详细说明
- ASP编程入门进阶(十八):FSO组件之文件操作(
- PHP中IP地址与整型数字互相转换详解
- Webpack实现按需打包Lodash的几种方法详解
- PHP往XML中添加节点的方法
- ASP如何获取真实IP地址
- mysql8重置root用户密码的完整步骤
- http请求405错误方法不被允许的解决 (Method not al
- 学习JavaScript设计模式之责任链模式
- ASP.NET Core使用SkiaSharp实现验证码的示例代码
- 如何创建一个PDF文件?
- 值得分享和收藏的xmlplus组件学习教程
- 只需五句话搞定JavaScript作用域(经典)
- php实现的http请求封装示例
- js实现的tab标签切换效果代码分享