經過幾天的彎路,終于正常編譯出PHP5.6,做個記錄方便后面翻閱。
一、原料準備
1、在PHP的windows官網進行下載:http://windows.php.net/download。這里我選擇的是php5.6.25。
2、下載VC++ compilers。目前官網不同PHP版本需要不同的VC++版本編譯器:,詳情查看https://wiki.php.net/internals/windows/compiler。
官網上PHP5.5,5.6可以使用Express版本:Visual Studio 2012 Express for Windows Desktop
下面是php官網編譯支持的VC版本
Product Name | 5.2.x | 5.3.x | 5.4.x | 5.5.x | 5.6.x | 7.0.x | 64bits (***) |
---|---|---|---|---|---|---|---|
Visual C++ 6 (SP6 only) | Yes | Yes | No | No | No | No | No |
Visual C++ 7/7.1 (2002, 2003, 2003+sp1) | Yes (**) | Yes (**) | No | No | No | No | No |
Visual C++ 8 (2005) | Yes (**) | No | No | No | No | No | No |
Visual C++ 9 (2008 SP1 only) | Yes (**) | Yes | Yes | Yes (**) | No | No | No |
Visual C++ 11 (2012) | No | No | Yes (**) | Yes | Yes | Yes (**) | Yes |
Visual C++ 14 (2015) | No | No | No | No | No | Yes | Yes |
3、需要下載PHP的SDK包及deps包
在網址:http://windows.php.net/downloads/php-sdk/可以查看到最新支持的包
目前我使用的32位,因此使用x86.
deps:http://windows.php.net/downloads/php-sdk/deps-5.6-vc11-x86.7z
sdk(有最新則選擇最新):http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110915.zip
二、安裝步驟
1、先將visual stdio安裝好。
2、將sdk,deps,src三個包放到指定目錄,如D:/php_compiler
3、先將sdk包解壓,生成三個目錄,分別為bin,script,share
4、從開始菜單Mircrosoft Visual Stdio 2012/Visual Studio 2012找到VS 2012 X86本機命令提示,進入到提示符
5、通過命令提示符,回到D:/php_compiler.
6、運行bin\phpsdk_setvars.bat,該bat文件為了將當前目錄(D:/php_compiler/bin)添加到默認路徑(系統path),目的使該bin目錄下的命令可以在命令提示符中使用。
7、運行bin\phpsdk_buildtree.bat php_dev,生成php_dev目錄,可以展開看到該命令預先生成一些必須的目錄結構。如vc6,vc8,vc9。但是沒有vc11,我們直接復制vc9成為vc11,或者直接改名為vc11
8、將php-5.6-src.zip包放到vc11/x86/,并解壓出來,然后將deps.zip解壓后與vc11/x86/deps進行合并。
9、通過剛才的命令提示符,進入到vc11/x86/php-5.6-src目錄
10、通過buildconfig 及configure.bat —disable-all —enable-cli(參數配置通過configure.bat —help查看,根據自己需要來)生成Makefile文件。
11、運行nmake,生成了PHP.EXE
12、進行打包,nmake snap.生成php-5.6-devel-vc11.zip。
13、done
三、遇到的坑
1、總是提示系統找不到指定路徑出現fatal error U1077:”if”:返回代碼“0x01"
解決:通過administrator用戶進行編譯
2、nmake找不到
解決:將Microsoft visual stdio 11.0\vc\bin及Microsoft visual\commond7\IDE\這兩個目錄添加到系統變量(path)中
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。