• 7120阅读
  • 0回复

[原创]Win32下为ZendServer CE写PHP 5.3 (VC2008)扩展步骤 [复制链接]

上一主题 下一主题
离线XChinux
 

只看楼主 倒序阅读 楼主  发表于: 2011-01-05
— 本帖被 XChinux 执行加亮操作(2011-01-05) —
原文见:http://hi.baidu.com/xchinux/blog/item/688cd62aa2cbb089023bf6d7.html

1、下载PHP源代码,解压到某个目录,假设为D:/php-5.3.4

2、到mingw.org网站下载安装msys-1.0以及下载bison,假设最后安装到了C:\msys\1.0目录下,所以其bin目录为c:\msys\1.0\bin

将C:\msys\1.0\bin加入到PATH环境变量中去,因为一会儿做编译PHP扩展准备工作时要用到msys及bison

3、假设Zend ServerCE的安装目录为D:/Program Files/Zend

Zend Server CE要求为PHP 5.3.x版本的,为VC2008编译的版本,将D:/Program Files/Zend/ZendServer/bin目录加入到PATH环境变量中去,因为一会儿生成扩展框架时要用到该目录下的php.exe程序

4、进入D:/php-5.3.4目录,打开VC2008控制台,运行下列四条指令:

D:

cd D:/php-5.3.4

buildconf

cscript /nologo configure.js

经过上面四条指令,生成了main/config.w32.h文件,这是编译扩展所需要的

5、打开D:/php-5.3.4/ext/ext_skel_win32.php文件,将里面的$cygwin_path变量的值修改如下:

$cygwin_path = 'c:\msys\1.0\bin';

保存后,在控制台中执行如下两条命令:

cd ext

php ext_skel_win32.php --extname=myext

这样就生成了myext扩展的框架代码

6、到 D:/php-5.3.4/ext/myext目录下,用VC2008打开那个.dsp文件开始进行扩展编码

将库搜索路径D:/Program Files/Zend/ZendServer/bin目录添加进去,同时在链接库中加上php5.lib(注意,不是php5ts.lib)

7、编译通过后,修改工程属性,在宏定义中将ZTS=1去掉,增加个NTS=1

重新编译,会在Release_TS目录下生成php_myext.dll文件,

将其拷贝到D:/Program Files/Zend/ZendServer/lib/phpext目录下,然后修改D:/Program Files/Zend/ZendServer/etc/php.ini文件,加上

extension=php_myext.dll

重启zendserver中的php即可。
[ 此帖被XChinux在2011-01-11 10:19重新编辑 ]
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个