倒霉狐狸的博客
我们是一群因技术而生为技术而死的人,短暂的生命容不下我们拥有太多的美好,所以我们珍惜每一秒的时光...
Windows上编译安装PHP和PECL扩展

Windows上编译安装PHP和PECL扩展 https://wiki.php.net/internals/windows/stepbystepbuild http://windows.php.net/downloads/releases/php-5.4.45-src.zip http://windows.php.net/downloads/php-sdk/deps-5.4-vc9-x86.7z http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110915.zip https://www.microsoft.com/en-us/download/details.aspx?id=11310 (启动Windows SDK 6.1安装程序后,需要下载1.2G的数据和3GB的磁盘空间) http://download.microsoft.com/download/3/0/2/3025EAE6-2E15-4972-972A-F5B1ED248E85/VS2008ExpressWithSP1CHSX1504735.iso 中文版 注意顺序!先安装Windows SDK 6.1及其service packs和security updates, 然后安装Visual Studio 2008 Express Edition SP1(运行Setup.hta,选择安装Visual C++ 2008).

开始菜单打开 Windows SDK v6.1 CMD shell 执行 setenv /x86 /xp /release 创建目录C:\php-sdk,并把php-sdk-binary-tools解压到这个目录. cd C:\php-sdk
bin\phpsdk_buildtree.bat phpdev 把PHP源代码解压到C:\php-sdk\phpdev\vc9\x86,比如: C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src 把deps-5.4-vc9-x86.7z解压到 C:\php-sdk\phpdev\vc9\x86\deps 开始编译: cd C:\php-sdk
bin\phpsdk_setvars.bat (设置环境变量,否则configure时会提示找不到bison之类的工具) cd C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src buildconf 如果出现 输入错误: 没有文件扩展“.js”的脚本引擎。 regedit 把 [HKEY_CLASSES_ROOT.js] 项下的那个默认值改成JSFile 重新执行 buildconf 就可以生成 configure.js 了. configure –help configure –disable-zts –disable-all –enable-cli 执行 nmake 编译, 编译后生成的二进制文件位于: C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src\Release 运行 nmake snap 打包: C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src\Release\php-5.4.45-nts-Win32-VC9-x86.zip 重新编译: nmake clean 清除旧的二进制文件 rd /s /q Release buildconf –force 生成新的configure.js脚本 configure –disable-zts –disable-all –enable-cli nmake

编译PECL扩展比如APC(相当于重新编译一次PHP): 把 APC 解压到 C:\php-sdk\phpdev\vc9\x86\pecl\APC cd C:\php-sdk
bin\phpsdk_setvars.bat cd C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src buildconf configure –help 看到 –enable-apc 相关选项 configure –disable-zts –disable-all –enable-cli –enable-apc=shared 默认APC被静态(–enable-apc=static)编译到PHP中(php5.dll),需要生成dll则这样写: –enable-apc=shared 执行 nmake 编译, 编译后生成的二进制文件位于: C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src\Release\php_apc.dll