熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

Windows中安裝Apache2和PHP4權威指南

2022-06-13   來源: PHP編程 

  Apache 和PHP是創建交互式網站的流行方案而且成本很低在Windows中安裝Apache 是一件輕而易舉的事情但要使PHP 與Apache 配合無間地運行就需要一定的技巧
  
  在PHP 手冊的Windows安裝小節沒有解釋如何讓PHP與Apache 配合使用而有關Apache 安裝的小節缺失了你需要的大量信息在網上公布的其他安裝指南中也包含了不少錯誤使一些安裝人員只好不斷試驗和犯錯例如有些人甚至將PHP的DLL替換成其他PHP版本的DLLOK為了節省你的寶貴時間我們准備了這篇最權威的指南文章幫你掃除一切煩惱
  
  使用正確版本的Windows
  
  首先要說一說兼容性Apache 不能在Windows 上運行在Windows 上勉強能夠運行但不能作為服務使用版本開始PHP也不再支持Windows 所以你的Windows操作系統必須是Windows NT或者XP
  
  Apache 源碼還是二進制?
  
  如果你有Visual C++ 或更高的版本或者安裝了Microsoft Visual Studio那麼雖然可以根據源碼來生成Apache但請絕對不要這樣做在Visual Studio IDE中Windows下的生成過程非常復雜即使從命令行編譯也絕對不是一件易事所以除非你喜歡創建makefile否則最好獲得一份Windows Installer二進制發行包也就是一個msi文件等你對Apache有了足夠多的認識知道自己要進行哪些定制操作時才可考慮親手生成(編譯)Apache
  
  如果已經安裝好並正在運行老版本的Apache首先要停止它卸載它然後才能開始安裝新服務器多個版本的Apache 不能共存
  
  雙擊Apache msi文件同意許可協議後正確設置Network Domain和Server Name(如果不打算將Apache安裝到遠程計算機那麼設置localhost就可以了)在Administrators Email Address區域輸入你的電子郵件地址保持端口/服務選項單選鈕的選中狀態在下一個對話框中如果選擇Typical安裝可以快速地獲得一個能實際工作的服務器環境
  
  安裝提示
  
  建議將默認安裝目錄從C:\Program Files\Apache Group變成C:\Apache或者符合文件名格式的其他名稱這樣一來以後每次輸入Apache安裝路徑時都不必為其添加引號
  
  稍候片刻安裝向導會告訴你Apache 安裝成功接下來惟一要做的事情就是進行測試請打開浏覽器並訪問localhost這樣應該看到默認的Apache 主頁
  
  然後可以刪除主Web服務器目錄中的所有示例文件它們默認位於C:\InstallDirectory\Apache\Apache\htdocs中如果有一個現成的主頁l請把它拷貝到這裡另外也可以馬上創建一個空白主頁對於未初始化的HTML以下代碼就可以了
  
  <html>
  <head>title=default server page</head>
  <body>Default server page</body>
  </html>
  
  讓Apache 為PHP做好准備
  
  從現在開始你需要較多地以人工方式進行安裝不能簡單地點擊和選擇幾個選項了事盡快習慣它吧這才是Apache的方式你需要編輯文件來設置不同的配置選項如果操作不當你所做的修改就會妨礙Apache的正確加載如果設置引發錯誤那麼錯誤可能被記錄到Apache 錯誤日志中(默認為C:\InstallDir\Apache\Logs\Errorlog)但能夠像這樣進行記錄的畢竟是少數大多數錯誤只會記錄到Windows事件日志中(開始| 設置| 控制面板| 管理工具| 事件查看器)
  
  令人遺憾的是在你對安裝設置進行調試時Windows事件日志並不是一個方便的工具更好的做法是在命令行窗口中測試Apache服務器的加載這樣能立即看到錯誤報告所以在完成了我即將討論的配置修改後請打開一個命令行窗口切換到Apache的binary目錄(C:\InstallDir\Apache\bin)在那裡啟動Apache
  
  Apache配置文件是C:\Apache\Apache\Conf\nf可用任何文本編輯器來編輯查找DirectoryIndex定位到下面這一行
  
  DirectoryIndex l lvar # indexphp
  
  為了允許Apache處理PHP頁要刪除注釋字符(#)變成
  
  DirectoryIndex l lvar indexphp
  
  還要允許在任何目錄中使用htaccess文件所以請在配置文件中查找AllowOverride把這個設置從None改成All保存了所做的改動後可繼續在文本編輯器中打開該文件因為等會兒安裝PHP時要再次編輯這個文件
  
  安裝PHP
  
  雖然可以下載PHP的源碼但和Apache 一樣最好直接使用二進制發行包Apache 可采取種方式來運行PHP程序通過一個CGI接口來運行(外部調用Phpexe)或者使用PHP的DLL文件在Apache的內部運行後一種方式的速度較快所以針對每個版本的PHP都會提供個Windows二進制發行包較小的是msi包它會安裝CGI可執行程序Phpexe但其中拿掉了通過Apache DLL來運行PHP腳本所需的模塊較大的zip包則包含了所有這些東西你可以從網站的Win區域下載它們文件下載完畢後把它解壓到C:\Php(保留文件夾名稱)除非你有絕對的把握請同時下載PHP手冊它有多種語言的版本可供選擇
  
  配置Apache 來運行PHP
  
  現在來到了最有趣的部分將Apache和PHP完美地配合起來首先請將C:\Php\Dlls目錄中的所有DLL文件拷貝到Windows的System目錄(%windir%\System)接著在Apache的配置文件(nf)中查找包含了大量AddType命令那個小節自己添加下面這一行
  
  AddType application/x
  
  將C:\Php\Phpinirecommended拷貝到Windows目錄(%windir%)把它重命名為Phpini並用文本編輯器打開它編輯其中對doc_rootextension_dir和sessionsave_path進行設置的使其和下面展示的一致注意要把InstallDir替換成你的Apache 的安裝目錄的名稱
  
  doc_root = c:\apache\apache\htdocs
  extension_dir = c:\php\extensions
  sessionsave_path = c:/temp
  
  在sessionsave_path中使用正斜槓和反斜槓都是允許的PHP手冊聲稱這些路徑參數需要在最後添加一個反斜槓但這個說法是不正確的在PHP 中不需要這樣做另外如果C:\Temp不存在請自己創建它
  
  下一步是允許Apache將PHP程序作為模塊來運行這要求你采取個步驟首先將C:\Php\Phptsdll拷貝到Windows的系統文件夾(%windir%\System)在nf中找到LoadModule小節自己添加下面這一行
  
  LoadModule php_module c:/php/phpapachedll
  
  如果你出於某種原因而需要在CGI模式中運行PHP程序(使用Phpexe)請將上面這一行變成注釋並在nf中添加下面這些行
  
  ScriptAlias /php/ c:/php/
  Action application/xhttpdphp /php/phpexe
  
  一切都搞定了嗎?
  
  保存所做的更改後你需要親自去證明兩點才能確保Apache /PHP 成為一對完美的搭檔Apache能正常加載嗎它能正確處理PHP頁嗎?
  
  要知道Apache是否能夠正常加載在你已經打開的命令行窗口中輸入以下命令
  
  apache –k start
  
  另外如果Apache正在運行可用以下命令重新啟動它
  
  apache –k restart
  
  從命令行啟動Apache的好處在於如果出現一個錯誤Apache會立即報告它你可能遇到的最常見的問題在於Apache可能由於某種原因而無法加載Phpapachedll如果Apache報告了這個錯誤請按前面所述的步驟重新操作一遍確保一切都沒有錯誤
  
  要知道Apache是否能正確地處理PHP頁請用你的文本編輯器創建一個簡單的PHP頁命名為Phptestphp其中只包含下面這一行
  
  <? phpinfo(); ?>
  
  將文件保存到主Web服務器目錄(C:\InstallDirectory\Apache\Apache\Htdocs)用浏覽器訪問如果一切正常應該看到一個含有PHP徽標的網頁其中包含大量設置和其他信息要知道PHP當前是通過CGI來運行還是在Apache內部運行可以檢查一下環境變量orig_script_name如果PHP通過CGI來運行這個變量的值就是/Php/Phpexe如果Apache將PHP腳本作為模塊來運行該變量的值應該是/Phptestphp
  
  雖然在Windows上安裝Apache 和PHP並不是一件容易的事情但也完全沒必要采取摸著石頭過河的做法通過本文的說明你應該可以快速搭建起這個史上最好的成本最低的Web開發環境
From:http://tw.wingwit.com/Article/program/PHP/201311/20780.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.