最近,有許多朋友問我在WindowsXp下PHP的安裝過程,正好最近我在自己的機器上成功的以模組化的方式安裝了PHP4.23。既然這麼多朋友需要,我就以最常見的IIS和Apache伺服器為例,把PHP在WindowsXP下的安裝過程寫出來吧,希望能對要安裝PHP的朋友有點幫助。如果不加特殊說明,以下的介紹同時也適用於Win2000版本。
一、概述:
在安裝之間,你必須先弄清楚PHP安裝的兩種不同模式,一種是Cgi模式(CGI executable),另一種是模組化安裝方式。可以這樣來區別:在CGI模式下,如果客戶機請求一個php文件,Web伺服器就調用php.exe去解釋這個文件,然後再把解釋的結果以網頁的形式返回給客戶機;而在模組化中,PHP是與Web伺服器一起啟動並運行的,所以從某種角度上來說,以apache模組方式安裝的PHP4有著比CGI模式更好的安全性以及更好的執行效率和速度。
二、軟體準備:
正所謂"工欲善其事必先利其器",要想在你的機器上運行PHP得首先準備需要的軟體。
(一)WEB伺服器
首先你需要一要WEB伺服器來支援PHP的運行,這裡我們選擇兩種最常見的、也是用的最多的兩種伺服器來分別介紹。
1.IIS(Internet Infomation Server)
IIS想必大家都不陌生吧,在Window2000中,IIS預設是安裝的。你可以透過「開始->設定->控制面板->管理工具->Internet 資訊服務」來開啟它。如果你沒有安裝,可以透過Windows的「新增刪除元件」來安裝它。關於IIS的安裝網路上的介紹很多,這裡就不再介紹了。
2.Apache
Apache同樣是個非常優秀的Web伺服器程序,同時它也是筆者最喜歡的Web伺服器。它不僅小巧、靈活,而且在使用過程中非常穩定,不會出現一些莫名其妙的錯誤(IIS相對來說就差多了),更重要的一點是,它還支援把PHP安裝成它的一個模組。
所以,筆者強烈建議你用Apache來安裝PHP。現在常用的Apache有兩個版本,一個是1.36的版本,另一個是Apache2系列的版本,在這裡推薦你使用Apache2版本,你可以在Apache的官方網站上下載到最新的版本。
Apache官方網站:http://www.apache.org
(二)PHP程式
最新的PHP程式碼你可以在它的官方網站http://www.php.net/downloads.php下載到,注意要選擇那種ZIP套件的,不能選擇自安裝那種,在寫本文時,PHP最新版本是4.23版,大小是5417KB。當然你也可以在本站的下載欄位中下載到。好了。軟體都準備好了,以下就開始我們的PHP安裝之旅吧!
註:以下的安裝過程中是以PHP4.23版本、Apache2.040為準的。
三、IIS下的安裝:
1.把下載下來的PHP安裝包解壓縮到你的C盤根目錄(這裡選擇C根目錄盤是為了以後修改調試方便用,你也可以選擇不同的目錄),解壓縮後應該能得到一個類似於"php- 4.2.3-Win32"的目錄,把目錄名稱改成"PHP"。
2. 打開剛才解壓縮的PHP目錄,你會發現有一個叫做"php.ini-dist"的文件,這就是PHP的設定檔了,你需要把它改名成"php.ini",然後複製到系統目錄中(如果你的系統裝在C盤,XP下就是"C:windows",Windows2000下是"C:winnt")。
以前有許多介紹PHP安裝文件的文章都說要修改php.ini中"extension_dir"和"doc_root"這兩項的值,可是筆者在安裝PHP過程中都沒有改過,也沒有過任何錯誤,看來這兩個參數不是必須的。當然如果你不放心也可以修改一下。把doc_root改成你的伺服器的根目錄,把extension_dir改成你的PHP安裝資料夾中的extensions資料夾所在的絕對路徑。
3. 打開你的IIS資訊服務控制台,右鍵單擊"預設網站"圖標,選擇屬性,打開預設網站屬性選擇,然後再選擇"主目錄"選項卡
點擊"配置"按鈕,你會看到又跳出一個選項卡,上面是已經定義的文件類型。點擊"新增"按鈕,在出來的對話框的可執行檔文字方塊中敲入你的php.exe所在的絕對路徑加上"%s %s",這裡是"c:phpphp.exe %s %s",擴展名文字方塊中寫上你要求php程式處理的後綴名,在這裡我們寫入".php",下面的選項按預設設定即可。
4.好了。現在試著把下面的幾段程式碼保存成後綴為php文件,然後放到你的一個虛擬目錄中去訪問,看看是否能出現正常的結果。
phpinfo();
?>
也許你會碰到下面的輸出結果:
Security Alert! The PHP CGI
cannot be accessed directly.
This PHP CGI binary was compiled
with force-cgi-redirect enabled.
This means that a page will only be
served up if the REDIRECT_STATUS CGI able is forman
object
up
For more information as to why
this behaviour exists,
see the manual page for CGI security.
For more information about changing
this behaviour or re-enabling this webserver,
consult the installation file that
came with this tribution,
installation the that came with this .
不用害怕,這是因為現在PHP在IIS中是以Cgi方式運行的,而你的php設定檔中這一項又沒有打開。如果你看到上面的一段警告,你需要打開你的php.ini文件,然後查找"cgi.force_redirect = 1"這樣一句,把這一句前面的分號去掉,然後把1改成0就OK了,現在再來刷新一下你剛才的頁面,如果沒有什麼意外的話,你的螢幕上的結果應該和我下面的截圖差不多。到此,PHP在IIS上的安裝過程已經完成了。
四、Apache下的安裝:
我們這次採用的是Apache的一個全新版本Apache2,以前在Apache下安裝PHP記得還比較麻煩,現在在Apache2平台下,我們可以方便的以模組化的方式安裝PHP,前提是PHP版本必須是4.0以上的。
當然,現在還在用PHP3的已經很少了。所以這次我們只介紹如何以模組化的方式在Apache下安裝PHP,如果你想了解在Apache下如何以Cgi的方式載入php,可以參考本站的另一篇文章"PHP+Apache在Win9x下的安裝與設定"(http://www.hooday.com/?n=ReadArticle&a=34)。好了,閒話少說,讓我們一起來領略模組化安裝PHP的風采吧。
1.執行你下載的Apache2安裝文件,安裝Apache,安裝過程中會提示你輸入主機名,管理員信箱等信箱,這些資訊在你安裝完以後是可以修改的,所以可以放心的輸入。在選擇安裝路徑時,筆者建議你把安裝路徑也選成C碟的根目錄。在一步一步的"Next"後,你會發現Apache很容易就安裝好了。
現在再看你的工作列的右側,應該會有一個類似這個小圖標的圖標,這就是Apache2的服務管理器,也是Apache1.X版本所沒有的。注意這張圖片的狀態,如果有一個綠色的小三角,表示你的伺服器已經安裝成功,如果是紅色的,則表示你的Apache沒有安裝成功,你需要進一步去找失敗的根源。
一般最常見的錯誤就是連接埠有衝突,Apache預設的連接埠是80,如果你的80埠被另一個程式(如IIS)佔用了的話,就會出現無法啟動的狀況。出現這種情況,你可以按照下面的方法來修改:點擊"開始->程式->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File"會開啟一個Apache的設定文件,你可以用文字編輯器來開啟它。
然後在這個檔案的第120行左右,你會發現類似"Listen 80"的字樣。現在只要把這個80改成你想要的連接埠即可,當然在你用瀏覽器瀏覽的時候也不要忘了加上連接埠哦。
到了這裡,你的Apache應該已經亮起綠燈了吧,下面我們來測試它是否在運作。打開你的瀏覽器,在網址列上輸入"http://localhost/"(如果你的連接埠不是80,需要在後面加上":連接埠號碼"),不知道你是否看到了Apache的歡迎頁,筆者在這一步驟並沒有看到,不知道什麼緣故,Apache2版本好像沒有預設的引導頁面。如果你也沒看到,可以試著在後面加上一個檔名"index.html.en",如果能出現下面類似的頁面,則表示Apache已經運作正常了。
2.好了,Apache已經安裝OK了,接下來就是看如何跟PHP結合起來了。
最開始的兩步驟和上邊介紹的IIS步驟是相同的,也是解壓縮後複製到C盤根目錄,然後改名,再把PHP.ini複製到系統資料夾,如果有必要的話,修改一下"extension_dir"和"doc_root"這兩項的值。上邊已經說得很清楚,不再多說。
接著便是最重要的一步了,也是模組化安裝的核心步驟了,可看仔細了。
開啟Apache2的設定檔(http.conf),可以點選"開始->程式->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File"開啟.
或開啟你的Apache安裝目錄下的Conf目錄,你會發現一個名為http.conf的文件,就是它了,你可以用任一個文字編輯器來開啟它。在這個檔案的第121行左右,你應該能找到"LoadModule"字樣,然後後面是一串路徑,這就是Apache默認要加載的模組了,同樣,咱們也可以在其後加上一句,讓他來加載PHP模組。
其實,就是這麼簡單,你只要加上這麼一句"LoadModule php4_module C:/php/sapi/php4apache2.dll",這裡要解釋一下"php4_module"是模組的名稱,後面跟的路徑則隨你的PHP安裝目錄而變,這三個字符串之間是用空格符分隔的。
接下來,還有一步工作,也是很多安裝失敗的朋友所忽略的,剛開始筆者也是無論如何加入上邊的那一句後Apache就啟動不起來了。後來經過幾次試驗,才發現,你的PHP安裝目錄下的"php4ts.dll"必須複製到windows系統的system32目錄下,否則,就不可能啟動起來。
現在再試一下,是不是一切都正常了。好了,再來回顧一下我們在Apache下安裝的過程。
(1)加上"LoadModule php4_module C:/php/sapi/php4apache2.dll".
(2)複製"php4ts.dll"到system32目錄.
是的,就是這麼簡單,PHP已經運行在你的機器上了。你可以透過雙擊工作列的Apache伺服器圖示來看到這一點。
3.再來測試一下吧。
把下面的程式碼儲存成info.php檔案放在你的Apache安裝目錄下的htdocs目錄下。
phpinfo();
?>
然後在瀏覽器中敲入http://localhost/info.php(如果你的連接埠不是80,請在localhost/後面加上":連接埠號碼"),是不是看到了類似下面的畫面所顯示的。如果是,恭喜,你已經成功的以模組化方式安裝了PHP
以上在Apache部分所講述的東西對不太熟悉Apache配置的朋友可能有一點不太明白,不過只要你按我上面所說的一步步的來,應該都不會出現什麼大的毛病。如果萬一不知道自己改的哪一個部分使Apache啟動不起來了,你可以切換到Apache安裝目錄下的Conf資料夾,將http.conf檔刪除掉,再將Apache的預設設定檔httpd.default. conf改名成http.conf即可。如果你想進一步的了解Apache的設定。
四、後記
PHP的安裝本來就是一件很簡單的事情,特別是後來所講的模組化安裝PHP的過程。大家有時間都不妨自己試一下,這樣你才能體驗到成功的喜悅。
最後祝福大家都能順利的安裝PHP。