本教程的目的是向你展示如何用“Apache和Windows”的組合來開發PHP程式。
教程中如未指明具體版本,則PHP為PHP3或PHP4 Beta 2或3,Apache為 1.3.x。
一、安裝Apache
首先,你須要一個WEB伺服器,我推薦Apache。先到htp://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上。檢查一下,並修正錯誤。
所有的都開始正常工作了。要測試你的系統,找開瀏覽器,輸入如下地址:,你會看到一個由Apache顯示給你的頁面,上面寫著“It works”之類的話。如果未出現這一頁,可能你的TCP/IP配置有問題,將你的Windows目錄裡的hosts.sam檔案複製為hosts檔案,並檢查是否有“127.0.0.1 localhost”一行,並且沒有被注釋掉。
接下來,試試PHP檔案。用你喜愛的編輸器,在APache安裝目錄下的htdocs子目錄中建立一個名為info.php3的檔案,內容如下:
〈?phpinfo();?〉
再開啟你的瀏覽器,輸入如下地址:。如果沒有問題的話,你會看到一張很長的表格,裡面有PHP的各種配置資訊及相關的環境變數,包括Apache的。如果它未工作,請檢查你的httpd.conf的設定是否正確,這很重要。如果未設定好,Apache將不知道如何去處理.php3的檔案。
八、使用目錄別名(Directory Aliases)
你大可不必將所有的東西放到htdocs 目錄中。為了能讓Apache正確指到你想要的目錄,你必須編輯httpd.conf檔案,增加"Alias"指令。很簡單,就像下面這樣:
Alias /yoursite/ "c:path/to/your/web/site/"
重新啟動Apache,你建立的目錄就開始工作了。用你的瀏覽器開啟。當然,你完全可以用你喜歡的名字代替“yoursite”,然後在“c:\path\to\your\website”下面按照你的想法建立一個屬於你自己的網站結構。