Windows下的PHP扩展

本来想吐槽点什么,算了,直接进入主题吧。

 安装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/315779
http://blog.csdn.net/k1988/article/details/6164843
http://www.tuicool.com/articles/3AJRZn
http://www.cppblog.com/suitang/articles/136262.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值