在Windows中安裝Apache2和PHP4的權威指南

來源:互聯網
上載者:User
關鍵字 在Windows中安裝Apache2和PHP4的權威指南

Apache 2和php是建立互動式網站的流行方案,而且成本很低。在Windows中安裝Apache 2是一件輕而易舉事情,但要使PHP 4與Apache 2配合無間地運行,就需要一定的技巧。

轉自:動態網製作指南 www.cncms.com

在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

轉自:動態網製作指南 www.cncms.com


正確地設定Network Domain和Server Name(如果不打算將Apache安裝到遠端電腦,那麼設定localhost就可以了),在Administrator’s Email Address地區輸入你的電子郵件地址,保持連接埠80/服務選項單選鈕的選中狀態。在下一個對話方塊中如果選擇Typical安裝,可以快速地獲得一個能實際工作的伺服器環境。

安裝提示
建議將預設安裝目錄從C:\PRogram Files\Apache Group變成C:\Apache或者符合8.3檔案名稱格式的其他名稱。這樣一來,以後每次輸入Apache安裝路徑時,都不必為其添加引號。


稍候片刻,安裝嚮導會告訴你Apache 2安裝成功。接下來惟一要做的事情就是進行測試,請開啟瀏覽器並訪問localhost,這樣應該看到預設的Apache 2首頁。

然後可以刪除主Web伺服器目錄中的所有樣本檔案,它們預設位於C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一個現成的首頁Index.html,請把它拷貝到這裡;另外,也可以馬上建立一個空白首頁。對於未初始化的HTML,以下代碼就可以了:


title=default server page
Default server page

讓Apache 2為PHP做好準備

從現在開始,你需要較多地以人工方式進行安裝,不能簡單地點擊和選擇幾個選項了事。儘快習慣它吧,這才是Apache的方式。你需要編輯檔案來設定不同的配置選項;如果操作不當,你所做的修改就會妨礙Apache的正確載入。如果設定引發錯誤,那麼錯誤可能被記錄到Apache 2錯誤記錄檔中(預設為C:\InstallDir\Apache2\Logs\Error.log)。但能夠像這樣進行記錄的畢竟是少數,大多數錯誤只會記錄到Windows事件記錄中(開始| 設定| 控制台| 管理工具| 事件檢視器)。

令人遺憾的是,在你對安裝設定進行調試時,Windows事件記錄並不是一個方便的工具。更好的做法是在命令列視窗中測試Apache伺服器的載入,這樣能立即看到錯誤報表。所以,在完成了我即將討論的配置修改後,請開啟一個命令列視窗,切換到Apache的binary目錄(C:\InstallDir\Apache2\bin),在那裡啟動Apache。

Apache設定檔是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文字編輯器來編輯。尋找DirectoryIndex,定位到下面這一行:

轉自:動態網製作指南 www.cncms.com

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

轉自:動態網製作指南 www.cncms.com

現在來到了最有趣的部分:將Apache和PHP完美地配合起來。首先,請將C:\Php\Dlls目錄中的所有DLL檔案拷貝到Windows的System目錄(%windir%\System)。接著,在Apache的設定檔(Httpd.conf)中尋找包含了大量AddType命令那個小節,自己添加下面這一行:

AddType application/x-httpd-php .php

將C:\Php\Php.ini-recommended拷貝到Windows目錄(%windir%),把它重新命名為Php.ini,並用文字編輯器開啟它。編輯其中對doc_root、extension_dir和session.save_path進行設定的3行,使其和下面展示的一致,注意要把InstallDir替換成你的Apache 2的安裝目錄的名稱。

doc_root = c:\apache\apache2\htdocs
extension_dir = c:\php\extensions
session.save_path = c:/temp

在session.save_path中使用正斜杠和反斜線都是允許的。PHP手冊聲稱這些路徑參數需要在最後添加一個反斜線,但這個說法是不正確的。在PHP 4.3中不需要這樣做。另外,如果C:\Temp不存在,請自己建立它。

下一步是允許Apache將PHP程式作為模組來運行,這要求你採取2個步驟。首先,將C:\Php\Php4ts.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"

一切都搞定了嗎?

轉自:動態網製作指南 www.cncms.com

儲存所做的更改後,你需要親自去證明兩點,才能確保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,其中只包含下面這一行:



將檔案儲存到主Web伺服器目錄(C:\InstallDirectory\Apache\Apache2\Htdocs),用瀏覽器訪問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開發環境。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.