Windows下的PHP扩展

来源:互联网 发布:金十数据盘 编辑:程序博客网 时间:2024/05/16 09:22
本来想吐槽点什么,算了,直接进入主题吧。
 安装PHP并扩展。(我使用的PHP版本是php-5.3.10)
1) 下载php-5.3.10源码包(php-5.3.10.tar.bz2)并解压到C:\php-5.3.10;下载二进制包php-5.3.10-Win32-VC9-x86.zip,也解压到C:\php-5.3.10,重复的文件全部覆盖。
2) 下载php-sdk-binary-tools-20110915.zip,并解压到C盘下,并将解压后的bin目录添加到系统变量。
3) 命令行就如C:\php-5.3.10,输入buildconf.bat。
4) 输入cscript /nologo configure.js --with-php-build="../win32build" --without-libxml  --disable-odbc。回车后报错:     没有找到cl.exe。我机器上安装了VS2010,所以可以C:\Program Files\Microsoft Visual Studio 10.0\VC\bin目录下找到cl.exe,因此将C:\Program Files\Microsoft Visual Studio 10.0\VC\bin加入系统环境变量。继续执行语句,依然报错:        提示缺少dll文件,mspdb100.dll文件可在C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE目录下找到,复制到VC\bin目录下即可。继续执行语句,成功。在C:\php-5.3.10\main目录下生成config.win32.h文件。    因为我的PHP二进制版本是VC9编译的,所以编译扩展模块也应该通过VC9,修改config.win32.h:    修改为:
5) 进入ext目录,复制skeleton文件夹并重命名为要扩展的名字,如myextension。
6) 进入myextension目录,将php_skeleton.h/skeleton.c/skeleton.dsp分别重命名为php_myextension.h/myextension.c/myextension.dsp。并将这3个文件中的所有'extname'替换为'myextension','EXTNAME'替换为‘MYEXTENSION’,注意匹配大小写。
7) 编辑php_myextension.h文件(红色方框部分为所添加的内容)。    
8) 编辑myextension.c文件(红色方框部分为所添加的内容)。        
9) 将C:\php-5.3.10\dev\php5ts.lib拷贝到myextension目录下,用VS2010打开myextension.dsp工程,进行工程转换并生成dll文件。生成的扩展dll文件为:C:\php-5.3.10\Release_TS\php_myextension.dll。     这里可能会出现问题:fatal error C1902: 程序数据库管理器不匹配;请检查安装解决。     解决办法:将C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE目录下的msobj100.dll/mspdbcore.dll/mspdbsrc.exe拷贝到C:\Program Files\Microsoft Visual Studio 10.0\VC\bin目录下。    
10) 将php_myextension.dll拷贝到C:\php-5.3.10\ext目录下。
11) 配置php.ini。进入C:\php-5.3.10\目录。复制php.ini-production并重命名为php.ini。在php.ini中添加两行:        extension_dir = "ext"        extension=php_myextension.dll        extension_dir = "ext"        extension=php_myextension.dll
12) 命令行进入C:\php-5.3.10,输入命令:php -r "echo myaddfunc(1,2);"    如果命令行打印出3则php扩展成功。     
好了,弄这玩意弄到吐血~ 尊重一下别人的劳动成果:以下是一些参考网址:http://koda.iteye.com/blog/315779http://blog.csdn.net/k1988/article/details/6164843http://www.tuicool.com/articles/3AJRZnhttp://www.cppblog.com/suitang/articles/136262.html
0 0
原创粉丝点击