標籤:
1.
http://windows.php.net/download/
2. PHP大版本
- PHP4:由於太古老、對OO支援不力已基本被淘汰。
- PHP5:分為三個分支——PHP5.2之前的版本、PHP5.2.X-5.3.X和PHP5.4之後的版本。
①PHP5.2之前的版本:因為某些功能缺陷或者BUG,PHP5.2之前的版本基本不用。
②PHP5.2.X-5.3.X:PHP5.2.X穩定性有很大的提升,而PHP5.3.X在穩定性上更勝一籌,增加了很多PHP5.2所不具有的功能,比如內建php-fpm、更完善的記憶體回收演算法、命名空間的引入、sqlite3的支援等等。推薦5.3.3
③PHP5.4之後的版本:特性有一些變化,現在PHP官網下載中只有PHP5.4以上的版本下載。
- PHP6:基本沒有生產線上的應用,還基本只是一款概念產品。
3. x86/x64
4. VC6/VC9/VC11
VC6、VC9、VC11分別代表Visual C++ 6、Visual C++ 2008、Visual C++ 2012編譯。
需要注意的是VC9版本需要安裝Visual C++ Redistributable for Visual Studio 2008 SP1,而VC11則需要安裝Visual C++ Redistributable for Visual Studio 2012。
5. Thread Safety(安全執行緒)、None-Thread Safe(非安全執行緒)
- Thread Safety:一般在IIS以ISAPI方式載入的時候選擇這個版本。
- None-Thread Safe:一般以FastCGI方式啟動並執行時候選擇這個版本,具有更好的效能。
CGI、ISAPI和FastCGI比較:
- CGI(通用閘道介面/Common Gateway Interface)一般是可執行程式,例如EXE檔案,和WEB伺服器各自佔據著不同的進程,而且一般一個CGI程式只能處理一個使用者請求。這樣,當用 戶請求數量非常多時,會大量佔用系統的資源,如記憶體、CPU時間等,造成效能低下。
- ISAPI(Internet Server Application Program Interface)是微軟提供的一套面向WEB服務的API介面,它能實現CGI提供的全部功能,並在此基礎上進行了擴充,如提供了過濾器應用程式接 口。ISAPI應用大多數以DLL動態庫的形式使用,可以在被使用者請求後執行,在處理完一個使用者請求後不會馬上消失,而是繼續駐留在記憶體中等待處理別的使用者輸入。此外,ISAPI的DLL應用程式和WEB伺服器處於同一個進程中,效率要顯著高於CGI。
- FastCGI是可伸縮架構的CGI開放擴充,其主要行為是將CGI解譯器進程保持在記憶體中並因此獲得較高的效能。傳統的CGI解譯器的反覆載入是 CGI效能低下的主要原因,如果CGI解譯器保持在記憶體中並接受FastCGI進程管理器調度,則可以提供良好的效能、伸縮性等。
PHP採用ISAPI和FastCGI的優缺點:
- ISAPI:以 ISAPI 模式運行 PHP 的,這種方式最大的缺點就是穩定性不好,當 PHP 出錯的時候,Apache進程也死掉。
首先就是 PHP 出錯的時候不會搞垮 Apache,只是 PHP 自己的進程當掉(但 FastCGI 會立即重新啟動一個新 PHP 進程來代替當掉的進程)。
其次 FastCGI 模式運行 PHP 比 ISAPI 模式效能更好
最後,就是可以同時運行 PHP5 和 PHP4
用 FastCGI 模式更適合生產環境的伺服器,但對於開發用機器來說就不太合適。因為當使用 Zend Studio 偵錯工具時,由於 FastCGI 會認為 PHP 進程逾時,從而在頁面返回 500 錯誤。
6. Apache
①Apache Lounge:http://apachelounge.com/,使用PHP VC11 x86或者x64版本
②Apache.org:http://apache.org/,只能使用VC6版本,無法使用VC9+以上版本。
Apache現在主流的兩個版本是2.2和2.4,注意在於PHP進行整合時,如果使用的是2.2,則在選擇php時,一定注意所下載的php目錄中一定有“php5apache2_2.dll”檔案,因為在配置apache的"Apache2.2\conf\httpd.conf"檔案中的LoadModule時“LoadModule php5_module "c:/php/php5apache2_2.dll" ”一定是php5apache2_2.dll,否則會出現“the requested operation has failed!"的錯誤。對於apache2.4同理,只是“LoadModule php5_module "c:/php/php5apache2_4.dll"中用的是2_4。
Windows下PHP版本選取