本教程的目的是向你展示如何用"apache和Windows"的組合來開發PHP程序。
教程中如未指明具體版本,則PHP為PHP3或PHP4 Beta 2或3,apache為 1.3.x。
一、安裝apache
首先,你須要一個WEB服務器,我推薦Apache。先http://www.apache.org/dist看看。在這頁上有世界范圍的Apache鏡像站點列表,找到離你最近的那個。Apache軟件一般叫作apache_1_3_x.win32.exe。把它當到你機器裡,運行它。它會問你將Apache安裝到什麼地方,你可以設為c:\Apache,因為馬上你就要修改它的配置文件。如果安裝沒出什麼錯的話,apache就可以用了。有很多readme文件可供參考,但僅有一個文件是講Win32平台的,包括Window 9x和Windows NT。
二、安裝PHP
這個問題在PHP郵件列表中出現的次數太多了。你需要安裝最新的Windows版的PHP。你也許會想到你自己去編譯PHP3,但我認為對於一般的開發目的,這不需要。PHP也有遍布全世界的鏡像站點(中國似乎沒有)。選擇一個鏡像,找到下載區域,選擇"Source code and Windows distribution",下載"Windows Binary"。你只須要將當下來的文件Unzip(WinZip就挺好的)到你喜歡的目錄中,如C:\PHP4B3.我推薦用版本號作為目錄名,這樣將來你試用更新版本時,無須刪掉老的版本。
在Windows 95/97下安裝PHP4 Beta,需要有DCOM的支持。如果你的機器上未裝, 到這裡去下載一份。
三、配置PHP
與PHP一起分發的文件包裡有一個Readme文件,裡面講述了如何配置。有一個文件名為PHP.INI-dist,它是PHP的主要配置文件。將它拷貝到你的Windows系統目錄(Windows 9x的\Windows或Windows NT的\WinNT目錄),並且改名為PHP.INI。需要對此文件作適當的修改,最主要的事情是加入一些可能要用到的模塊,象MySQL等。在PHP.INI文件中找到象下面的這一節內容:
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; if you wish to have an extension loaded automaticly, use the
; following syntax: extension=modulename.extension
; for example, on Windows,
; extension=msql.dll ; or under UNIX,
; extension=msql.so
; Note that it should be the name of the module only,
; no directory information needs to go here.
; Specify the location of the extension with the
; extension_dir directive above.
接下來幾行被注釋的,如
;Windows Extensions
;extension=PHP_MySQL.dll
;extension=PHP_nsmail.dll
;extension=PHP_calendar.dll
;extension=PHP_DBase.dll
;extension=PHP_filepro.dll
...
你要做的就是將文件的一些行的注釋去掉,即刪除打頭的分號。我自己需要MySQL的支持,就從"extension=php3_MySQL.dll"一行中去掉了分號";",在特定情況下,你要用的DLL文件不在這個列表中,只需要簡單地加上一行,如: "extension=mydll.dll"。這樣,PHP就配置好了。
四、讓apache與PHP一起工作
找到第一節裡你安裝Apache的目錄,用你喜歡的文件編輯器(最好是支持Win32長文件名格式的,如Edit, Ultraedit等)打開.\conf\httpd.conf文件,在本例中是c:\Apache\conf\httpd.conf(這個是APACHE的最主要的配置文件,不要輕易修改,除非有特定把握)。如看不懂裡面的內容,可去參加一下Apache文檔。 要讓apache與PHP一起工作,你只要加入幾行即可,如下:
ScriptAlias /php4b3/ "C:/PHP4B3/"
AddType application/x-httpd-php3 .PHP3
AddType application/x-httpd-php3 .PHP
AddType application/x-httpd-PHP3 .pHtml
Action application/x-httpd-php3 "/php4b3/PHP.exe"
需要注意的是上面的這三行不能寫錯。其中第一行的最後一部分是你安裝的PHP的目錄;後面的兩行,你可以直接從這裡拷貝並粘帖。這行配置命令都區分大小寫。
五、在Windows NT下運行apache
如果你運行的Windows NT系統,你可能要將Apache作為系統的服務進程來運行。點擊"開始"按鈕,選擇"程序","Apache Web Server","Insfall Apache as Service"。這樣,你可以通過NT的控制面版中的"服務"程序來管理Apache的啟動和終止。除非有特殊的理由,我建議你將"Apache Service"的運行方式改為"手動":打開控制面版,選擇"服務"圖標,找到"Apache Service",再點擊"運行",將運行方式設為"手動"。不過這樣,當你要運行Apache時,必須親自去啟動它,雖然如此,在NT關閉時,Apache也會自動關閉,你不會看到任何apache的窗口。
六、在Windows 9x中運行
如果你用的是Windows 9x,那麼我建議你從作者的網站下載一份"Apache Manager for Windows"。它運行時停留在而右下方小圖標欄中,並且會隱藏Apache創建的控制台窗口。這個程序讓你避開討厭的命令行直接啟動、停止、重新啟動Apache。如果你不用"Apache Manager",你應通過選擇"開始","程序","Apache webserver"及"Apache Server"來啟動Apache,這樣會創建一個控制台窗口。千萬別關閉這個窗口,如果關掉,Apache就停止了。要停止Apache的運行,你要打開一個MS-DOS窗口,換到你的安裝Apache的目錄中,執行如下命令: apache -k shutdown Apache要花一點時間來關閉它的控制台窗口。這主要是為了確保卸載所有的進程,關閉所有的.conf和.log文件。這也正是作者編寫apache Manager的原因。
七、測試你的系統
我強烈建議你至少通過控制台窗口運行Apache一次。要想得到Apache的運行時顯示信息的辦法是通過控制窗口或error.log文件。error.log文件存放在Apache安裝目錄的log子目錄內。如 c:\Apache\log\error.log。 好,從"開始","程序","Apache Webserver"中選擇"Apache server"運行apache,如果一切都ok的話,你應該能看到像下面的信息:
apache/1.3.9(Win32) running...
如果你未能看到這條消息或Apache窗口稍縱即逝,你就必須從DOS窗口以命令行的方式啟動Apache。換到你安裝Apache的目錄,鍵入"apache",看看顯示了什麼消息。如果是"parse error in the conf file",問題可能出在你的httpd.conf上。檢查一下,並修正錯誤。
所有的都開始正常工作了。要測試你的系統,找開浏覽器,輸入如下地址http://localhost/,你會看到一個由apache顯示給你的頁面,上面寫著"It works"之類的話。如果未出現這一頁,可能你的TCP/IP配置有問題,將你的Windows目錄裡的hosts.sam文件復制為hosts文件,並檢查是否有"127.0.0.1 localhost"一行,並且沒有被注釋掉。
接下來,試試PHP文件。用你喜愛的編輸器,在apache安裝目錄下的htdocs子目錄中創建一個名為info.PHP3的文件。
再打開你的浏覽器,輸入如下地址http://localhost/info.php3。如果沒有問題的話,你會看到一張很長的表格,裡面有PHP的各種配置信息及相關的環境變量,包括Apache的。如果它未工作,請檢查你的httpd.conf的設置是否正確,這很重要。如果未設置好,apache將不知道如何去處理.PHP3的文件。
八、使用目錄別名(Directory Aliases)
你大可不必將所有的東西放到htdocs 目錄中。為了能讓apache正確指到你想要的目錄,你必須編輯httpd.conf文件,增加"Alias"指令。很簡單,就像下面這樣:
Alias /yoursite/ "cath/to/your/web/site/"
重新啟動apache,你新建的目錄就開始工作了。用你的浏覽器打http://localhost/yoursite/。當然,你完全可以用你喜歡的名字代替"yoursite",然後在"c:\path\to\your\website"下面按照你的想法建立一個屬於你自己的網站結構。