今天想要安裝 PHP for Windows , 想說先看看有無新的版本可下載時 , 才注意到竟然有好幾個可下載的版本要做選擇 , 有 VC6 / VC9 , Thread Safe / Non Thread Safe , 這下可傻眼了 , 還真拿不定主意該下載哪一個 , 只好先做一下功課 ! 在 PHP for Windows 網站上有說明 VC6 / VC9 的差別 , 原來 , VC6 是給 Apache v1.x 及 v2.x 用的 , VC9 是給 IIS 用的 , XD 勒 ! 上次安裝 PHP 5.3.3 for Windows 時下載錯了 (下載到 VC9 Thread Safe 版) ! 不過用起來好像也沒什麼問題 ??
軟體下載 :
參考資料 :
1. Difference between PHP thread safe and non thread safe binaries
說明 :
1. VC6 版本是使用 Visual Studio 6 編譯器編譯,如果 PHP 是要搭配用 Apache v1.x 或 2.x 的話,請選擇 VC6 版本。
2. VC9 版本是使用 Visual Studio 2008 編譯器編譯,如果 PHP 是要搭配用 IIS 的話,請選擇 VC9 版本。
3. Non Thread Safe 執行的速度會比 Thread Safe 快 , 但是會有穩定性的風險。
4. CGI 的執行速度很慢但穩定 , ISAPI 的執行速度比 CGI 快但容易當掉 , FastCGI 的速度跟穩定度是最好的。
結論 :
如果用的是 IIS --
1. 因為 PHP 及 CGI 是用 multi proccess 架構 , IIS 是用 multi threaded 架構 , 如果只能用 CGI , 則選擇 : IIS + CGI + PHP VC9 Thread Safe , 速度慢但穩定 。
2. 如果只能用 ISAPI , 則選擇 : IIS + ISAPI + PHP VC9 Thread Safe , 會比較穩定保險。
3. 如果是用 FastCGI , 則可選擇 : IIS + FastCGI + PHP VC9 Non Thread Safe。
如果用的是 Apache --
理論上應該是用 Apache + PHP VC6 Non Thread Safe 速度會比較好 , 不過根據實際安裝 PHP VC6 Thread Safe 及 Non Thread Safe 後發現 , PHP for Windows 官方好像希望我們用 Apache + Module + PHP VC6 Thread Safe !!
Non Thread Safe 安裝畫面
Thread Safe 安裝畫面