最近,有許多朋友問我在WindowsXp下php的安裝過程,正好最近我在自己的機器上成功的以模塊化的方式安裝了PHP4.23。既然這么多朋友需要,我就以最常見的IIS和Apache服務(wù)器為例,把PHP在WindowsXP下的安裝過程寫出來吧,希望能對要安裝PHP的朋友有點幫助。如果不加特殊說明,以下的介紹同時也適用于Win2000版本。
一、概述:
在安裝之間,你必須先弄懂PHP安裝的兩種不同模式,一種是Cgi模式(CGI executable),另一種是模塊化安裝方式。可以這樣來區(qū)別:在CGI模式下,如果客戶機請求一個php文件,Web服務(wù)器就調(diào)用php.exe去解釋這個文件,然后再把解釋的結(jié)果以網(wǎng)頁的形式返回給客戶機;而在模塊化中,PHP是與Web服務(wù)器一起啟動并運行的,所以從某種角度上來說,以apache模塊方式安裝的PHP4有著比CGI模式更好的安全性以及更好的執(zhí)行效率和速度。
二、軟件準備:
正所謂"工欲善其事 必先利其器",要想在你的機器上運行PHP得首先準備需要的軟件。
(一)WEB服務(wù)器
首先你需要一要WEB服務(wù)器來支持PHP的運行,這里我們選擇兩種最常見的、也是用的最多的兩種服務(wù)器來分別介紹。
1.IIS(Internet Infomation Server)
IIS想必大家都不陌生吧,在Window2000中,IIS默認是被安裝的。你可以通過 "開始->設(shè)置->控制面板->管理工具->Internet 信息服務(wù)"來打開它。如果你沒有安裝,可以通過Windows的"添加刪除組件"來安裝它。關(guān)于IIS的安裝網(wǎng)上的介紹有很多,這里就不再介紹了。
2.Apache
Apache同樣是一個非常優(yōu)秀的Web服務(wù)器程序,同時它也是筆者最喜歡的一款Web服務(wù)器。它不僅小巧、靈活,而且在使用過程中非常穩(wěn)定,不會出現(xiàn)一些莫名其妙的錯誤(IIS相對來說就差多了),更重要的一點是,它還支持把PHP安裝成它的一個模塊。所以,筆者強烈推薦你用Apache來安裝PHP,F(xiàn)在常用的Apache有兩個版本,一個是1.36的版本,另一個是Apache2系列的版本,在這里推薦你使用Apache2版本,你可以在Apache的官方網(wǎng)站上下載到最新的版本。
Apache官方網(wǎng)站:http://www.apache.org
(二)PHP程序
最新的PHP程序代碼你可以在它的官方網(wǎng)站http://www.php.net/downloads.php下載到,注意要選擇那種Zip包的,不能選擇自安裝那種,在寫本文時,PHP最新版本是4.23版,大小是5,417KB。當然你也可以在本站的下載欄目中下載到。
好了。軟件都準備好了,下面就開始我們的PHP安裝之旅吧 :)
注:以下的安裝過程中是以PHP4.23版本、Apache2.040為準的。
三、IIS下的安裝:
1.把下載下來的PHP安裝包解壓到你的C盤根目錄(這里選擇C根目錄盤是為了以后修改調(diào)試方便用,你也可以選擇不同的目錄),解壓后應(yīng)該能得到一個類似于"php-4.2.3-Win32"的目錄,把目錄名稱改成"PHP"。
2. 打開剛才解壓的PHP目錄,你會發(fā)現(xiàn)有一個叫做"php.ini-dist"的文件,這就是PHP的配置文件了,你需要把它改名成"php.ini",然后復制到系統(tǒng)目錄中(如果你的系統(tǒng)裝在C盤,XP下就是"C:\windows",Windows2000下是"C:\winnt")。
以前有許多介紹PHP安裝文件的文章都說要修改php.ini中"extension_dir"和"doc_root"這兩項的值,可是筆者在安裝PHP過程中都沒有改過,也沒有過任何錯誤,看來這兩個參數(shù)不是必須的。當然如果你不放心也可以修改一下。把doc_root改成你的服務(wù)器的根目錄,把extension_dir改成你的PHP安裝文件夾中的extensions文件夾所在的絕對路徑。
3.打開你的IIS信息服務(wù)控制臺,右擊"默認網(wǎng)站"圖標,選擇屬性,打開默認網(wǎng)站屬性選擇,然后再選擇"主目錄"選項卡
點擊"配置"按鈕,你會看到又跳出一個選項卡,上面是已經(jīng)定義的文檔類型。點擊"添加"按鈕,在出來的對話框的可執(zhí)行文件文本框中敲入你的php.exe所在的絕對路徑加上"%s %s",在這里是"c:\php\php.exe %s %s",擴展名文本框中寫上你要求php程序處理的后綴名,在這里我們寫入".php",下面的選項按默認設(shè)置即可。
4.好了。現(xiàn)在試著把下面的幾段代碼保存成后綴為php文件,然后放到你的一個虛擬目錄中去訪問,看一下是否能出現(xiàn)正常的結(jié)果。
phpinfo();
?>
也許你會碰到下面的輸出結(jié)果:
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 variable is set, e.g. via an Apache Action directive.
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 distribution, or visit the manual page.
不用怕,這是因為現(xiàn)在PHP在IIS中是以Cgi方式運行的,而你的php配置文件中這一項又沒有打開。如果你看到上面的一段警告,你需要打開你的php.ini文件,然后查找"cgi.force_redirect = 1"這樣一句,把這一句前面的分號去掉,然后把1改成0就OK了,現(xiàn)在再來刷新一下你剛才的頁面,如果沒有什么意外的話,你的屏幕上的結(jié)果應(yīng)該和我下面的截屏差不多。到此,PHP在IIS上的安裝過程已經(jīng)完成了。
四、Apache下的安裝:
我們這次采用的是Apache的一個全新版本Apache2,以前在Apache下安裝PHP記得還比較麻煩,現(xiàn)在在Apache2平臺下,我們可以方便的以模塊化的方式安裝PHP,前提是PHP版本必須是4.0以上的。當然,現(xiàn)在還在用PHP3的已經(jīng)很少了。所以這次我們只介紹如何以模塊化的方式在Apache下安裝PHP,如果你想了解在Apache下如何以Cgi的方式加載php,可以參考本站的另一篇文章"PHP+Apache在Win9x下的安裝和配置"(http://www.hooday.com/?n=ReadArticle&a=34)。好了,閑話少說,讓我們一起來領(lǐng)略模塊化安裝PHP的風采吧。
1.運行你下載的Apache2安裝文件,安裝Apache,安裝過程中會提示你輸入主機名,管理員信箱等信箱,這些信息在你安裝完以后是可以修改的,所以可以放心的輸入。在選擇安裝路徑時,筆者建議你把安裝路徑也選成C盤的根目錄。在一步步的"Next"后,你會發(fā)現(xiàn)Apache很容易就安裝好了。
現(xiàn)在再看你的任務(wù)欄的右側(cè),應(yīng)該有一個類似于這個小圖標的圖標,這就是Apache2的服務(wù)管理器,也是Apache1.X版本所沒有的。注意這個圖片的狀態(tài),如果有一個綠色的小三角,說明你的服務(wù)器已經(jīng)安裝成功,如果是紅色的,則說明你的Apache沒有安裝成功,你需要進一步去找一下失敗的根源。一般最常見的錯誤就是端口有沖突,Apache默認的端口是80,如果你的80端口被另一個程序(如IIS)占用了的話,就會出現(xiàn)無法啟動的情況。出現(xiàn)這種情況,你可以按照下面的方法來修改:點擊"開始->程序->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File"會打開一個Apache的配置文件,你可以用文本編輯器來打開它。然后在這個文件的第120行左右,你會發(fā)現(xiàn)類似于"Listen 80"的字樣。現(xiàn)在只要把這個80改成你想要的端口即可,當然在你用瀏覽器瀏覽的時候也不要忘了加上端口哦。
到了這里,你的Apache應(yīng)該已經(jīng)亮起綠燈了吧,下面我們來測試一下它是否在工作。打開你的瀏覽器,在地址欄上輸入"http://localhost/"(如果你的端口不是80,需要在后面加上":端口號"),不知道你是否看到了Apache的歡迎頁,筆者在這一步并沒有看到,不知道什么緣故,Apache2版本好像沒有默認的引導頁面。如果你也沒有看到,可以試著在后面加上一個文件名"index.html.en",如果能出現(xiàn)下面類似的頁面,則說明Apache已經(jīng)工作正常了。
2.好了,Apache已經(jīng)安裝OK了,接下來就是看如何跟PHP結(jié)合起來了。
最開始的兩步和上邊介紹的IIS步驟是相同的,也是解壓后復制到C盤根目錄,然后改名,再把PHP.ini復制到系統(tǒng)文件夾,如果有必要的話,修改一下"extension_dir"和"doc_root"這兩項的值。上邊已經(jīng)說得很清楚,不再多說。
接著便是最重要的一步了,也是模塊化安裝的核心步驟了,可要看仔細了。
打開Apache2的配置文件(http.conf),可以通過點擊"開始->程序->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File"打開.
或者打開你的Apache安裝目錄下的Conf目錄,你會發(fā)現(xiàn)一個名為http.conf的文件,就是它了,你可以用任一個文本編輯器來打開它。在這個文件的第121行左右,你應(yīng)該能找到"LoadModule"字樣,然后后面是一串路徑,這就是Apache默認要加載的模塊了,同樣,咱們也可以在其后加上一句,讓他來加載PHP模塊。
其實,就是這么簡單,你只要加上這么一句"LoadModule php4_module C:/php/sapi/php4apache2.dll",這里要解釋一下"php4_module"是模塊的名稱,后面跟的路徑則隨你的PHP安裝目錄而變,這三個字串之間是用空格符分隔的。
接下來,還有一步工作,也是很多安裝失敗的朋友所忽略的,剛開始筆者也是無論如何加入上邊的那一句后Apache就啟動不起來了。后來經(jīng)過幾次試驗,才發(fā)現(xiàn),你的PHP安裝目錄下的"php4ts.dll"必須要復制到windows系統(tǒng)的system32目錄下,否則,就不可能啟動起來。
現(xiàn)在再試一下,是不是一切都正常了。好了,再來回顧一下我們在Apache下安裝的過程。
(1)添加"LoadModule php4_module C:/php/sapi/php4apache2.dll".
(2)復制"php4ts.dll"到system32目錄.
是的,就是這么簡單,PHP已經(jīng)運行在你的機器上了。你可以通過雙擊任務(wù)欄的Apache服務(wù)器圖標來看到這一點。
3.再來測試一下吧。
把下面的代碼保存成info.php文件放在你的Apache安裝目錄下的htdocs目錄下。
phpinfo();
?>
然后在瀏覽器中敲入http://localhost/info.php(如果你的端口不是80,請在localhost/后加上":端口號"),是不是看到了類似下面的屏幕所顯示的。如果是,恭喜,你已經(jīng)成功的以模塊化方式安裝了PHP
以上在Apache部分所講述的東西對不太熟悉Apache配置的朋友可能有一點不太明白,不過只要你按我上面所說的一步步的來,應(yīng)該都不會出現(xiàn)什么大的毛病。如果萬一不知道自己改的哪一個部分使Apache啟動不起來了,你可以切換到Apache安裝目錄下的Conf文件夾,將http.conf文件刪除掉,再將Apache的默認配置文件httpd.default.conf改名成http.conf即可。如果你想進一步的了解Apache的配置。
四、后記
PHP的安裝本來就是一件很簡單的事情,特別是后來所講的以模塊化安裝PHP的過程。大家有時間都不妨自己試一下,這樣你才能體驗到成功的喜悅。
最后祝大家都能順利的安裝PHP。