由於微軟已逐步開始重視PHP ON Windows的應用,相繼推出了Microsoft Web Platform,PHP Manager等IIS平台工具,x86和x64系統均可使用,再也不用為在IIS上配置PHP而煩惱了,PHP Manager用途如下:
*關聯PHP和IIS
*並列運行多個PHP版本在同一台伺服器上,甚至在同一網站
*檢查PHP運行時配置和環境(的phpinfo()函數的輸出)
*配置各種PHP設定
*啟用或禁用PHP擴充
*遠端管理php.ini PHP設定檔
所以一直想體驗下PHP for IIS7.5,下面分享下在WIN7 IIS7.5上應用PHP Manager安裝配置PHP5的心得和感受。
我在Win 2008 R2上使用的是Microsoft Web Platform安裝PHP Manager和PHP的,首先介紹下Microsoft Web Platform這個平台(也可以不安裝Microsoft Web Platform)。
Microsoft Web Platform是微軟整合開發語言以及應用程式的平台,通過Microsoft Web Platform Installer可以安裝配置諸如ASP.NET、PHP等開發平台以及相應的WEB應用,說白點有點類似軟體商店。
1、從微軟官方網站下載Microsoft Web Platform 3.0並安裝(可選):
官方下載地址:
http://www.microsoft.com/web/
http://www.microsoft.com/web/downloads/platform.aspx
預設安裝路徑為:C:\Program Files\Microsoft\Web Platform Installer
2、通過Microsoft Web Platform搜尋下載或單獨下載最新的PHP Manager for IIS並安裝:
下載地址:http://phpmanager.codeplex.com/releases/view/53121
3、通過Microsoft Web Platform搜尋下載或單獨下載最新的PHP 。
PHP官方網站下載地址:
http://windows.php.net/download/
微軟官方通過WEB安裝平台安裝PHP地址:
http://www.microsoft.com/web/platform/phponwindows.aspx
windows 2008 R2 下面IIS7.5已經對fastcgi的支援有了很大改進,PHP 5.3發布的Windows版已經不支援ISAPI模式了,因為FastCGI大大加強了IIS處理PHP的能力,能迅速提高PHP網站的反應速度和生產力,並具有更高的穩定性和安全性,我們不建議朋友們再使用PHP-ISAPi模式。
本次環境搭建所有版本均經過多次測試保證無誤!鑒於目前很多程式對php5.3.1支援的都不錯,如果不是老版本,建議使用php5.3及以上版本,例如php 5.5 是目前不錯的選擇。下面呢還是以php5.2.17,使用較多的版本做個樣本。
大家在安裝php版本的時候,應該考慮的是你使用的php程式對應支援的php版本。
windows2008 R2下面環境搭建分兩種情況 大家可以根據自己的運行需要選擇!
1 IIS7.5+PHP+Mysql+Wincache 1.0RC
這個環境組合大家已經看出來了 沒有zend,
各個版本分別是:
PHP5.2.11--請注意是非安全執行緒(Non Thead Safe)版本 PHP 5.2.17 Non-thread-safe zip package,
MYSQL5.0 x64(mysql資料庫多數可以用x64位,因為系統就是64位的),
Wincache1.1 for5.2,這個大家可以去微軟IIS官方下載,他將極大地提高您的系統運行效率!
下載地址:http://www.iis.net/downloads/microsoft/wincache-extension
如果感覺下載麻煩,可以到雲棲社區下載wincache(請注意誘導廣告)
如果您的伺服器啟動並執行都是開來源程式,不需要zend,強烈建議您使用這個配置!
2 IIS7.5+PHP+Mysql+Zend+Xcache
此組合版本分別是
PHP5.2.17 請注意是安全執行緒(Thead Safe)版本:PHP 5.2.11 zip package
MYSQL5.0 x64,
ZendOptimizer3.3.3-windows x86
Xcache1.3 for XCache-1.3.0-php-5.2.10-Win32-VC6-x86.zip
此組合可以完美運行當今主流的PHP系統,但是美中不足的是使用PHP安全執行緒版本無法載入wincache,很遺憾的一點!但是可以用xcache作為補充,但是相比PHP-ISAPI模式已經好多了!
注意:
官網已經註明,VC9的版本是給IIS用的,VC6的版本是給Apache用的。之所以要這樣區分,是因為VC9版本是用Visual Studio 2008編譯的,編譯器對程式進行了更多的最佳化,因而效能較好。至於Thead Safe(安全執行緒)/Non Thead Safe(非安全執行緒),官網並沒有說明各自用途何在。Google了一番以後,我找到了答案:FastCGI是單線程執行的,因而不需要安全執行緒版本,去掉安全執行緒的防護後可以提高執行效率;而ISAPI方式則是多線程模式,所以需要採用安全執行緒版本。
說明:
下載的php是x86版,而Win2008 R2是64位系統,應該用x64版,但PHP官方不提供x64版,就用的x86版,不行再換。php 5.3的VC9版本需要先安裝VC2008運行庫(32位/64位)。
FastCGI模式下快速安裝PHP的教程可以到這裡觀看:
Windows 2008R2內建環境了IIS7.5 內建已整合了FastCGI模組,所以只要安裝時只要勾選上CGI模組後,即可裝上FastCGI。
4、設定PHP Manager for IIS 1.2
在這裡懶得抓圖了,大家對照一下自己的系統就可以了
然後選擇 PHP Manager ,點擊 ”Register new PHP version” ,選擇你的PHP解壓目錄
配置
解壓php到C盤根目錄。
開啟IIS7進行PHP Manager進行配置
單擊“Register new PHP version”,彈出框中瀏覽選擇“php-cgi.exe”
出現黃色警告,可以點擊“View Recommendations” 按照推薦設定進行修改
"Check phpinfo()" 測試php支援情況。很方便查看具體配置資訊:
解決辦法:安裝Visual C++ 2008 X64運行庫
注意:Visual C++ 2008,請根據作業系統進行選擇x86,x64,不同版本不通用!!!
設定錯誤報表
設定PHP運行限制
設定PHP.ini
php附加元件的設定
好了,測試一下吧,建立一個記事本,內容為:
複製代碼 代碼如下:
<?php
phpinfo();
?>
另存新檔Info.php,然後開啟其網頁檔案。
5.安裝MySQL
下載MySQL for Windows 5.1.57 x64安裝包,安裝完成後按設定精靈做好配置。
再自己動手把data檔案夾挪移一下位置,修改方式如下:
1.停止mysql,在命令視窗中輸入並運行:net stop mysql 即可;
2.把"C:\programdata\MySQL\MySQL Server 5.1\Data\" 裡的Data檔案夾剪下到目的地,這裡設定為D:\Mysql5.1\data
3.修改Mysql安裝目錄下的my.ini檔案,找到其中關於“datadir=”的代碼,把datadir改成 datadir="D:\MySQL5.1\data\"
4.啟動mysql,在命令視窗中輸入並運行:net start mysql 即可;
6.安裝Wincache
微軟在推出了Windows Server 2008後,對PHP進行了很大最佳化,還發布了WinCache在在Windows下對PHP進行加速的軟體,效果顯著。在一些測試中,WinCache的得分比eaccelerator和Xcache得分都要好。
WinCache可以在微軟的IIS官方網站上下載到,只支援FastCGI運行模式下,Non Thread Safe版本的PHP。
WinCache下載地址:http://www.iis.net/download/WinCacheForPhp
配合FastCGI模式安裝教程的WinCache版本在右上方:如下圖:
安裝WinCache: 點擊下載下來的exe檔案,點'YES',然後出現一個直接選取框,選擇解壓到您的PHP安裝目錄下的ext檔案夾即可。例如:C:\Program Files\PHP\ext
然後開啟PHP.INI檔案,例如C:\Program Files\PHP\php.ini ,在最底下加入一行:extension = php_wincache.dll
再重啟IIS即可。
WinCache安裝成功後會在PHPINFO頁面顯示出來。如下圖:
特別說明:
1、在Win 2008上安裝配置PHP之前,你首先需要安裝配置好IIS7.5,並選上安裝CGI ,否則可能導致PHP安裝時不成功。
2、在選擇下載PHP Manager時,PHP Manager有32和64位兩個版本,win 2008 R2系統是64位,建議下載64位版本。