Apache 2和PHP是創(chuàng )建交互式網(wǎng)站的流行方案,而且成本很低。在Windows中安裝Apache 2是一件輕而易舉的事情,但要使PHP 4與Apache 2配合無(wú)間地運行,就需要一定的技巧。 在PHP 4.3手冊的Windows安裝小節,沒(méi)有解釋如何讓PHP與Apache 2配合使用,而有關(guān)Apache 2安裝的小節缺失了你需要的大量信息。在網(wǎng)上公布的其他安裝指南中,也包含了不少錯誤,使一些安裝人員只好不斷試驗和犯錯。例如,有些人甚至將PHP的DLL替換成其他PHP版本的DLL。OK,為了節省你的寶貴時(shí)間,我們準備了這篇最權威的指南文章,幫你掃除一切煩惱。 使用正確版本的Windows 首先要說(shuō)一說(shuō)兼容性:Apache 2不能在Windows 95上運行;在Windows 98上勉強能夠運行,但不能作為服務(wù)使用。從4.3版本開(kāi)始,PHP也不再支持Windows 95。所以,你的Windows操作系統必須是Windows NT、2000或者XP。 Apache 2:源碼還是二進(jìn)制? 如果你有Visual C++ 5.0或更高的版本,或者安裝了Microsoft Visual Studio,那么雖然可以根據源碼來(lái)生成Apache,但請絕對不要這樣做。在Visual Studio IDE中,Windows下的生成過(guò)程非常復雜。即使從命令行編譯,也絕對不是一件易事。所以,除非你喜歡創(chuàng )建makefile,否則最好獲得一份Windows Installer二進(jìn)制發(fā)行包,也就是一個(gè).msi文件。等你對Apache有了足夠多的認識,知道自己要進(jìn)行哪些定制操作時(shí),才可考慮親手生成(編譯)Apache。 如果已經(jīng)安裝好并正在運行老版本的Apache,首先要停止它,卸載它,然后才能開(kāi)始安裝新服務(wù)器。多個(gè)版本的Apache 2不能共存。 雙擊Apache 2 .msi文件。同意許可協(xié)議后,會(huì )出現如圖A所示的對話(huà)框。 圖A 正確地設置Network Domain和Server Name(如果不打算將Apache安裝到遠程計算機,那么設置localhost就可以了),在A(yíng)dministrator’s Email Address區域輸入你的電子郵件地址,保持端口80/服務(wù)選項單選鈕的選中狀態(tài)。在下一個(gè)對話(huà)框中如果選擇Typical安裝,可以快速地獲得一個(gè)能實(shí)際工作的服務(wù)器環(huán)境。 安裝提示建議將默認安裝目錄從C:Program FilesApache Group變成C:Apache或者符合8.3文件名格式的其他名稱(chēng)。這樣一來(lái),以后每次輸入Apache安裝路徑時(shí),都不必為其添加引號。 稍候片刻,安裝向導會(huì )告訴你Apache 2安裝成功。接下來(lái)惟一要做的事情就是進(jìn)行測試,請打開(kāi)瀏覽器并訪(fǎng)問(wèn)localhost,這樣應該看到默認的Apache 2主頁(yè)。 然后可以刪除主Web服務(wù)器目錄中的所有示例文件,它們默認位于C:InstallDirectoryApacheApache2htdocs中。如果有一個(gè)現成的主頁(yè)Index.html,請把它拷貝到這里;另外,也可以馬上創(chuàng )建一個(gè)空白主頁(yè)。對于未初始化的HTML,以下代碼就可以了: title=default server page Default server page 讓Apache 2為PHP做好準備 從現在開(kāi)始,你需要較多地以人工方式進(jìn)行安裝,不能簡(jiǎn)單地點(diǎn)擊和選擇幾個(gè)選項了事。盡快習慣它吧,這才是Apache的方式。你需要編輯文件來(lái)設置不同的配置選項;如果操作不當,你所做的修改就會(huì )妨礙Apache的正確加載。如果設置引發(fā)錯誤,那么錯誤可能被記錄到Apache 2錯誤日志中(默認為C:InstallDirApache2LogsError.log)。但能夠像這樣進(jìn)行記錄的畢竟是少數,大多數錯誤只會(huì )記錄到Windows事件日志中(開(kāi)紎 設置| 控制面板| 管理工具| 事件查看器)。 令人遺憾的是,在你對安裝設置進(jìn)行調試時(shí),Windows事件日志并不是一個(gè)方便的工具。更好的做法是在命令行窗口中測試Apache服務(wù)器的加載,這樣能立即看到錯誤報告。所以,在完成了我即將討論的配置修改后,請打開(kāi)一個(gè)命令行窗口,切換到Apache的binary目錄(C:InstallDirApache2bin),在那里啟動(dòng)Apache。 Apache配置文件是C:ApacheApache2ConfHttpd.conf,可用任何文本編輯器來(lái)編輯。查找DirectoryIndex,定位到下面這一行: DirectoryIndex index.html index.html.var # index.php 為了允許Apache處理PHP頁(yè),要刪除注釋字符(#),變成: DirectoryIndex index.html index.html.var index.php 還要允許在任何目錄中使用.htaccess文件,所以請在配置文件中查找AllowOverride,把這個(gè)設置從None改成All。保存了所做的改動(dòng)后,可繼續在文本編輯器中打開(kāi)該文件,因為等會(huì )兒安裝PHP時(shí),要再次編輯這個(gè)文件。 安裝PHP 雖然可以下載PHP的源碼,但和Apache 2一樣,最好直接使用二進(jìn)制發(fā)行包。Apache 2可采取2種方式來(lái)運行PHP程序:通過(guò)一個(gè)CGI接口來(lái)運行(外部調用Php.exe),或者使用PHP的DLL文件在A(yíng)pache的內部運行。后一種方式的速度較快。所以,針對每個(gè)版本的PHP,都會(huì )提供2個(gè)Windows二進(jìn)制發(fā)行包。較小的是.msi包,它會(huì )安裝CGI可執行程序Php.exe,但其中拿掉了通過(guò)Apache DLL來(lái)運行PHP腳本所需的模塊。較大的.zip包則包含了所有這些東西,你可以從snaps.php.net網(wǎng)站的Win32區域下載它們。文件下載完畢后,把它解壓到C:Php(保留文件夾名稱(chēng))。除非你有絕對的把握,請同時(shí)下載PHP手冊,它有多種語(yǔ)言的版本可供選擇。 配置Apache 2來(lái)運行PHP4 現在來(lái)到了最有趣的部分:將Apache和PHP完美地配合起來(lái)。首先,請將C:PhpDlls目錄中的所有DLL文件拷貝到Windows的System目錄(%windir%System)。接著(zhù),在A(yíng)pache的配置文件(Httpd.conf)中查找包含了大量AddType命令那個(gè)小節,自己添加下面這一行: AddType application/x-httpd-php .php 將C:PhpPhp.ini-recommended拷貝到Windows目錄(%windir%),把它重命名為Php.ini,并用文本編輯器打開(kāi)它。編輯其中對doc_root、extension_dir和session.save_path進(jìn)行設置的3行,使其和下面展示的一致,注意要把InstallDir替換成你的Apache 2的安裝目錄的名稱(chēng)。 doc_root = c:apacheapache2htdocs extension_dir = c:phpextensions session.save_path = c:/temp 在session.save_path中使用正斜杠和反斜杠都是允許的。PHP手冊聲稱(chēng)這些路徑參數需要在最后添加一個(gè)反斜杠,但這個(gè)說(shuō)法是不正確的。在PHP 4.3中不需要這樣做。另外,如果C:Temp不存在,請自己創(chuàng )建它。 下一步是允許Apache將PHP程序作為模塊來(lái)運行,這要求你采取2個(gè)步驟。首先,將C:PhpPhp4ts.dll拷貝到Windows的系統文件夾(%windir%System)。在Httpd.conf中找到LoadModule小節,自己添加下面這一行: LoadModule php4_module “c:/php/php4apache2.dll” 如果你出于某種原因而需要在CGI模式中運行PHP程序(使用Php.exe),請將上面這一行變成注釋?zhuān)⒃贖ttpd.conf中添加下面這些行: ScriptAlias /php/ "c:/php/" Action application/x-httpd-php "/php/php.exe" 一切都搞定了嗎? 保存所做的更改后,你需要親自去證明兩點(diǎn),才能確保Apache 2/PHP 4成為一對完美的搭檔:Apache能正常加載嗎,它能正確處理PHP頁(yè)嗎? 要知道Apache是否能夠正常加載,在你已經(jīng)打開(kāi)的命令行窗口中輸入以下命令: apache –k start 另外,如果Apache正在運行,可用以下命令重新啟動(dòng)它: apache –k restart 從命令行啟動(dòng)Apache的好處在于,如果出現一個(gè)錯誤,Apache會(huì )立即報告它。你可能遇到的最常見(jiàn)的問(wèn)題在于,Apache可能由于某種原因而無(wú)法加載Php4apache2.dll。如果Apache報告了這個(gè)錯誤,請按前面所述的步驟重新操作一遍,確保一切都沒(méi)有錯誤。 要知道Apache是否能正確地處理PHP頁(yè),請用你的文本編輯器創(chuàng )建一個(gè)簡(jiǎn)單的PHP頁(yè),命名為Phptest.php,其中只包含下面這一行: phpinfo();=""?>將文件保存到主Web服務(wù)器目錄(C:InstallDirectoryApacheApache2Htdocs),用瀏覽器訪(fǎng)問(wèn)http://localhost/phptest.php。如果一切正常,應該看到一個(gè)含有PHP徽標的網(wǎng)頁(yè),其中包含大量設置和其他信息。要知道PHP當前是通過(guò)CGI來(lái)運行,還是在A(yíng)pache內部運行,可以檢查一下環(huán)境變量orig_script_name。如果PHP通過(guò)CGI來(lái)運行,這個(gè)變量的值就是/Php/Php.exe。如果Apache將PHP腳本作為模塊來(lái)運行,該變量的值應該是/Phptest.php。 雖然在Windows上安裝Apache 2和PHP并不是一件容易的事情,但也完全沒(méi)必要采取摸著(zhù)石頭過(guò)河的做法。通過(guò)本文的說(shuō)明,你應該可以快速搭建起這個(gè)史上最好的、成本最低的Web開(kāi)發(fā)環(huán)境。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。