在Windows中安裝Apache2和PHP4的權威指南
2024-08-27 18:28:44
供稿:網友
apache 2和php是創建交互式網站的流行方案,而且成本很低。在windows中安裝apache 2是一件輕而易舉的事情,但要使php 4與apache 2配合無間地運行,就需要一定的技巧。
在php 4.3手冊的windows安裝小節,沒有解釋如何讓php與apache 2配合使用,而有關apache 2安裝的小節缺失了你需要的大量信息。在網上公布的其他安裝指南中,也包含了不少錯誤,使一些安裝人員只好不斷試驗和犯錯。例如,有些人甚至將php的dll替換成其他php版本的dll。ok,為了節省你的寶貴時間,我們準備了這篇最權威的指南文章,幫你掃除一切煩惱。
使用正確版本的windows
首先要說一說兼容性:apache 2不能在windows 95上運行;在windows 98上勉強能夠運行,但不能作為服務使用。從4.3版本開始,php也不再支持windows 95。所以,你的windows操作系統必須是windows nt、2000或者xp。
apache 2:源碼還是二進制?
如果你有visual c++ 5.0或更高的版本,或者安裝了microsoft visual studio,那么雖然可以根據源碼來生成apache,但請絕對不要這樣做。在visual studio ide中,windows下的生成過程非常復雜。即使從命令行編譯,也絕對不是一件易事。所以,除非你喜歡創建makefile,否則最好獲得一份windows installer二進制發行包,也就是一個.msi文件。等你對apache有了足夠多的認識,知道自己要進行哪些定制操作時,才可考慮親手生成(編譯)apache。
如果已經安裝好并正在運行老版本的apache,首先要停止它,卸載它,然后才能開始安裝新服務器。多個版本的apache 2不能共存。
雙擊apache 2 .msi文件。同意許可協議后,會出現如圖a所示的對話框。
圖a
正確地設置network domain和server name(如果不打算將apache安裝到遠程計算機,那么設置localhost就可以了),在administrator’s email address區域輸入你的電子郵件地址,保持端口80/服務選項單選鈕的選中狀態。在下一個對話框中如果選擇typical安裝,可以快速地獲得一個能實際工作的服務器環境。
--------------------------------------------------------------------------------
安裝提示
建議將默認安裝目錄從c:program filesapache group變成c:apache或者符合8.3文件名格式的其他名稱。這樣一來,以后每次輸入apache安裝路徑時,都不必為其添加引號。
--------------------------------------------------------------------------------
稍候片刻,安裝向導會告訴你apache 2安裝成功。接下來惟一要做的事情就是進行測試,請打開瀏覽器并訪問localhost,這樣應該看到默認的apache 2主頁。
然后可以刪除主web服務器目錄中的所有示例文件,它們默認位于c:installdirectoryapacheapache2htdocs中。如果有一個現成的主頁index.html,請把它拷貝到這里;另外,也可以馬上創建一個空白主頁。對于未初始化的html,以下代碼就可以了:
<html>
<head>title=default server page</head>
<body>default server page</body>
</html>
讓apache 2為php做好準備
從現在開始,你需要較多地以人工方式進行安裝,不能簡單地點擊和選擇幾個選項了事。盡快習慣它吧,這才是apache的方式。你需要編輯文件來設置不同的配置選項;如果操作不當,你所做的修改就會妨礙apache的正確加載。如果設置引發錯誤,那么錯誤可能被記錄到apache 2錯誤日志中(默認為c:installdirapache2logserror.log)。但能夠像這樣進行記錄的畢竟是少數,大多數錯誤只會記錄到windows事件日志中(開始| 設置| 控制面板| 管理工具| 事件查看器)。
令人遺憾的是,在你對安裝設置進行調試時,windows事件日志并不是一個方便的工具。更好的做法是在命令行窗口中測試apache服務器的加載,這樣能立即看到錯誤報告。所以,在完成了我即將討論的配置修改后,請打開一個命令行窗口,切換到apache的binary目錄(c:installdirapache2bin),在那里啟動apache。
apache配置文件是c:apacheapache2confhttpd.conf,可用任何文本編輯器來編輯。查找directoryindex,定位到下面這一行:
directoryindex index.html index.html.var # index.php
為了允許apache處理php頁,要刪除注釋字符(#),變成:
directoryindex index.html index.html.var index.php
還要允許在任何目錄中使用.htaccess文件,所以請在配置文件中查找allowoverride,把這個設置從none改成all。保存了所做的改動后,可繼續在文本編輯器中打開該文件,因為等會兒安裝php時,要再次編輯這個文件。
安裝php
雖然可以下載php的源碼,但和apache 2一樣,最好直接使用二進制發行包。apache 2可采取2種方式來運行php程序:通過一個cgi接口來運行(外部調用php.exe),或者使用php的dll文件在apache的內部運行。后一種方式的速度較快。所以,針對每個版本的php,都會提供2個windows二進制發行包。較小的是.msi包,它會安裝cgi可執行程序php.exe,但其中拿掉了通過apache dll來運行php腳本所需的模塊。較大的.zip包則包含了所有這些東西,你可以從snaps.php.net網站的win32區域下載它們。文件下載完畢后,把它解壓到c:php(保留文件夾名稱)。除非你有絕對的把握,請同時下載php手冊,它有多種語言的版本可供選擇。
配置apache 2來運行php4
現在來到了最有趣的部分:將apache和php完美地配合起來。首先,請將c:phpdlls目錄中的所有dll文件拷貝到windows的system目錄(%windir%system)。接著,在apache的配置文件(httpd.conf)中查找包含了大量addtype命令那個小節,自己添加下面這一行:
addtype application/x-httpd-php .php
將c:phpphp.ini-recommended拷貝到windows目錄(%windir%),把它重命名為php.ini,并用文本編輯器打開它。編輯其中對doc_root、extension_dir和session.save_path進行設置的3行,使其和下面展示的一致,注意要把installdir替換成你的apache 2的安裝目錄的名稱。
doc_root = c:apacheapache2htdocs
extension_dir = c:phpextensions
session.save_path = c:/temp
在session.save_path中使用正斜杠和反斜杠都是允許的。php手冊聲稱這些路徑參數需要在最后添加一個反斜杠,但這個說法是不正確的。在php 4.3中不需要這樣做。另外,如果c:temp不存在,請自己創建它。
下一步是允許apache將php程序作為模塊來運行,這要求你采取2個步驟。首先,將c:phpphp4ts.dll拷貝到windows的系統文件夾(%windir%system)。在httpd.conf中找到loadmodule小節,自己添加下面這一行:
loadmodule php4_module “c:/php/php4apache2.dll”
如果你出于某種原因而需要在cgi模式中運行php程序(使用php.exe),請將上面這一行變成注釋,并在httpd.conf中添加下面這些行:
scriptalias /php/ "c:/php/"
action application/x-httpd-php "/php/php.exe"
一切都搞定了嗎?
保存所做的更改后,你需要親自去證明兩點,才能確保apache 2/php 4成為一對完美的搭檔:apache能正常加載嗎,它能正確處理php頁嗎?
要知道apache是否能夠正常加載,在你已經打開的命令行窗口中輸入以下命令:
apache –k start
另外,如果apache正在運行,可用以下命令重新啟動它:
apache –k restart
從命令行啟動apache的好處在于,如果出現一個錯誤,apache會立即報告它。你可能遇到的最常見的問題在于,apache可能由于某種原因而無法加載php4apache2.dll。如果apache報告了這個錯誤,請按前面所述的步驟重新操作一遍,確保一切都沒有錯誤。
要知道apache是否能正確地處理php頁,請用你的文本編輯器創建一個簡單的php頁,命名為phptest.php,其中只包含下面這一行:
<? phpinfo(); ?>
將文件保存到主web服務器目錄(c:installdirectoryapacheapache2htdocs),用瀏覽器訪問http://localhost/phptest.php。如果一切正常,應該看到一個含有php徽標的網頁,其中包含大量設置和其他信息。要知道php當前是通過cgi來運行,還是在apache內部運行,可以檢查一下環境變量orig_script_name。如果php通過cgi來運行,這個變量的值就是/php/php.exe。如果apache將php腳本作為模塊來運行,該變量的值應該是/phptest.php。
雖然在windows上安裝apache 2和php并不是一件容易的事情,但也完全沒必要采取摸著石頭過河的做法。通過本文的說明,你應該可以快速搭建起這個史上最好的、成本最低的環境。
本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。