首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Windows 下 Apache 載入 PHP 模組失敗:路徑含空格導致啟動錯誤排查

     編輯:PHP 相關知識

在 Windows 環境部署 Apache + PHP 時,若安裝路徑包含空格(如 C:\Program Files\PHP),Apache 的 LoadModule 指令若未正確加上引號,將導致服務無法啟動。本文記錄真實排查過程與解決方案。

錯誤現象

Apache 設定檔 httpd.conf 中載入 PHP 模組:

LoadModule php5_module C:/Program Files/php/php5apache2_2.dll
PHPIniDir "C:/Program Files/php"

執行 httpd -k start 或啟動服務時失敗,錯誤日誌提示模組載入失敗或語法錯誤。

根因分析

Apache 設定檔解析器以空格分隔參數。路徑 C:/Program Files/php/... 中的空格會被誤判為參數分隔符,導致 LoadModule 只讀取到 C:/Program,其餘被視為無效參數。

解決方案

方法一:雙引號包裹路徑(推薦)

LoadModule php5_module "C:/Program Files/php/php5apache2_2.dll"
PHPIniDir "C:/Program Files/php"

方法二:使用短檔名(8.3 格式)

LoadModule php5_module C:/Progra~1/php/php5apache2_2.dll
PHPIniDir "C:/Progra~1/php"

可用 dir /x 查看短檔名。

方法三:避開含空格目錄(最簡單)

將 PHP、Apache 安裝至無空格路徑,如 D:\PHP、D:\Apache,完全規避問題。

驗證步驟

  1. 修正 httpd.conf 後,執行 httpd -t 測試語法:
    Syntax OK 表示通過。
  2. 重新啟動 Apache 服務,觀察錯誤日誌 logs/error.log 是否無異常。
  3. 建立 phpinfo.php 確認 PHP 模組正常載入。

延伸建議

  • Windows 路徑建議統一使用正斜線 /,避免反斜線轉義問題。
  • PHPIniDir 指令的路徑務必以斜線結尾:"C:/Program Files/php/"。
  • 生產環境盡量避免 Program Files、Program Files (x86) 等系統保護目錄,權限管理較麻煩。
  • 若使用 PHP 7/8,模組檔名為 php7apache2_4.dll 或 php8apache2_4.dll,對應 Apache 2.4 版本。

這是一個經典的「引號引發的悲劇」,記住:Windows 路徑含空格時,Apache 設定檔所有路徑參數必須用雙引號包裹,即可避免 90% 的啟動失敗案例。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved