一、概述:
在安裝之間,你必須先弄懂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:\php\php.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
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.
不用怕,這是因為現在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。