準備工作
- https://github.com/Microsoft/...下載PHP-SDK(在右邊的“clone or download”點擊,選擇下方的“download zip”);
- 下載PHP7.3.4的源碼, https://github.com/php/php-src/tree/PHP-7.3.4
- 選擇“visual studio community 2019”,安裝過程中選擇C++功能。
php依賴庫
https://windows.php.net/downloads/php-sdk/deps/vs16/x64/
編譯
- 新建編譯目錄,例如“D:\PHP2Compile”;
- 將"php-sdk-binary-tools-master.zip"中的文件解壓到編譯目錄下;
- 按住shift在編譯目錄內點擊右鍵,選擇“open powershell window here”;
- 執行"phpsdk-vs16-x64.bat",成功後提示符從“>”變成"$";
- 執行"phpsdk_buildtree phpdev",成功後目錄中會多一個“phpdev”目錄,命令行的目錄自動切換到"phpdev/vc15/x64";
- 在"phpdev/vs16/x64"目錄下新建php-src文件夾,將PHP源碼複製到此目錄;
- 切換到php-src目錄(cd php-src),執行"phpsdk_deps -u";
- 在“phpdev/vs16/x64”下建立pecl目錄(與PHP源碼目錄同級),將拓展複製到該目錄下;
- 在PHP源碼目錄內執行"buildconf";
- 執行“configure --一些選項”命令配置編譯選項,例如"configure --disable-all --enable-cli --enable-cgi --enable-zlib --enable-hash --enable-session --without-gd --with-bz2 --enable-yourext";
- 執行nmake命令編譯PHP及拓展。
編譯成功後,在源碼的X64目錄下會生成“Release”或"Release_TS"目錄,編譯好的php.exe及生成的拓展dll均在此目錄下。dll的文件名爲php_xxxx.dll,例如"php_tlanyan.dll"。
TS和NTS
默認編譯出來的拓展是TS(線程安全)的版本(位於Release_TS目錄中),如果要編譯非線程安全版本,configure時加入"--disable-zts"選項。
編譯成功後,線程安全版本信息爲(php.exe -v輸出):
這個下載過程只下載了幾個zip就不動了
未完,待續