現象:執行 ./configure --with-apache=/path/to/apache/src 時提示找不到 httpd.h,但該檔案明明存在於 src 目錄下。
原因:PHP 的 configure 腳本需要的是 Apache 原始碼的頂層目錄,而非存放 httpd.h 的 src 子目錄。
解法:指定 Apache 解壓後的根目錄,例如:
./configure --with-apache=/path/to/apache/
切勿加上 /src。
前提:假設 PHP RPM 套件已正確安裝。
解決步驟:編輯 httpd.conf,加入以下模組載入與類型對應指令:
# 載入模組
LoadModule php_module modules/mod_php.so
LoadModule php3_module modules/libphp3.so
LoadModule perl_module modules/libperl.so
# 新增模組(視 Apache 版本可能需用 AddModule)
AddModule mod_php.c
AddModule mod_php3.c
AddModule mod_perl.c
# 定義 PHP 檔案 MIME 類型
AddType application/x-httpd-php3 .php3
將 AddType 行放在全域區段或需支援 PHP 的 <Directory> 區塊中。存檔後重啟 Apache 即可生效。
LoadModule 為必要;AddModule 僅靜態編譯時需用。.php 與 .php3,請分別加入兩行 AddType。rpm -ql php 確認實際模組檔位置。