windows上编译php7和pecl扩展

2015-06-13 15:49:00
zengde
原创 2163

参考:https://wiki.php.net/internals/windows/stepbystepbuild

php7 alpha终于发布了,试着来编译一下。


一、准备工作:

1.vc14,安装visual studio 2015 rc,要勾选microsoft foundation classes for c++,其它的可以不用。

2.下载php-sdk,http://windows.php.net/downloads/php-sdk/,目前下载的是http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110915.zip,解压到目录,d:/php-sdk

3.由于是要编译64位php7,下载对应的deps:http://windows.php.net/downloads/php-sdk/deps-7.0-vc14-x64.7z

4.当然是php源码了http://windows.php.net/downloads/qa/php-7.0.0alpha1-src.zip

二、设置环境

1.安装好vs2015后,在开始菜单中打开VS2015 x64 Native Tools 命令提示字元,输入命令:


cd \
cd d:/php-sdk
bin\phpsdk_setvars.bat


以上是设置编译path,所以关闭了命令窗口再打开首先需要执行这些,不然编译不了

bin\phpsdk_buildtree.bat phpdev
执行完之后会在php-sdk目录下多了一个phpdev子目录,然后按照此结构手动创建目录,


D:\php-sdk\phpdev\vc14\x64


接着将下载好的deps-7.0-vc14-x64.7z解压到此目录,再新建php-source-directory目录,将下载的php源码php-7.0.0alpha1-src.zip解压到此,再新建pecl目录,以后编译pecl扩展有用,最后目录结构

D:\php-sdk\phpdev\vc14\x64\deps
D:\php-sdk\phpdev\vc14\x64\pecl
D:\php-sdk\phpdev\vc14\x64\php-source-directory

执行命令

cd D:\php-sdk\phpdev\vc14\x64\php-source-directory
buildconf
configure --help
configure --disable-all --enable-cli --enable-$remains

开始编译


nmake
编译好后,如果要打包成zip,



nmake snap
编译好的文件在


D:\php-sdk\phpdev\vc14\x64\php-source-directory\x64\Release_TS



三、添加pecl扩展

将下载好的pecl扩展包中的extension目录如果没有extension目录则把config.m4或者config.w32所在目录,解压到D:\php-sdk\phpdev\vc14\x64\pecl\扩展名 目录中,以uprofiler为例,

D:\php-sdk\phpdev\vc14\x64\pecl\uprofiler-0.9.4


buildconf --force
configure --help
执行后查看输出是否有要安装的pecl扩展选项,例如uprofiler扩展就是 --enable-uprofiler,如果没有的话要么放错要么不支持windows


然后

configure --disable-all --enable-cli --enable-uprofiler=shared
make
php -m
如果有显示uprofiler,即编译成功。