Windows下PHP版本選取

來源:互聯網
上載者:User

標籤:

 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
  •  x86:32位作業系統
  •  x64:64位作業系統
 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比較: 
  1. CGI(通用閘道介面/Common Gateway Interface)一般是可執行程式,例如EXE檔案,和WEB伺服器各自佔據著不同的進程,而且一般一個CGI程式只能處理一個使用者請求。這樣,當用 戶請求數量非常多時,會大量佔用系統的資源,如記憶體、CPU時間等,造成效能低下。
  2. ISAPI(Internet Server Application Program Interface)是微軟提供的一套面向WEB服務的API介面,它能實現CGI提供的全部功能,並在此基礎上進行了擴充,如提供了過濾器應用程式接 口。ISAPI應用大多數以DLL動態庫的形式使用,可以在被使用者請求後執行,在處理完一個使用者請求後不會馬上消失,而是繼續駐留在記憶體中等待處理別的使用者輸入。此外,ISAPI的DLL應用程式和WEB伺服器處於同一個進程中,效率要顯著高於CGI。
  3. FastCGI是可伸縮架構的CGI開放擴充,其主要行為是將CGI解譯器進程保持在記憶體中並因此獲得較高的效能。傳統的CGI解譯器的反覆載入是 CGI效能低下的主要原因,如果CGI解譯器保持在記憶體中並接受FastCGI進程管理器調度,則可以提供良好的效能、伸縮性等。
PHP採用ISAPI和FastCGI的優缺點:
  • ISAPI:以 ISAPI 模式運行 PHP 的,這種方式最大的缺點就是穩定性不好,當 PHP 出錯的時候,Apache進程也死掉。
 
  • FastCGI 模式運行 PHP 的優點:
首先就是 PHP 出錯的時候不會搞垮 Apache,只是 PHP 自己的進程當掉(但 FastCGI 會立即重新啟動一個新 PHP 進程來代替當掉的進程)。
其次 FastCGI 模式運行 PHP 比 ISAPI 模式效能更好
最後,就是可以同時運行 PHP5 和 PHP4
 
  • FastCGI 模式的一些缺點:
用 FastCGI 模式更適合生產環境的伺服器,但對於開發用機器來說就不太合適。因為當使用 Zend Studio 偵錯工具時,由於 FastCGI 會認為 PHP 進程逾時,從而在頁面返回 500 錯誤。
 
 



 6. Apache
  •  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版本選取

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.