在 Windows 下安裝 PHP 後 Apache 出現 LoadModu..
时间:2006-09-24 来源:hhjon
在 Windows 下安裝 PHP 後 Apache 出現 LoadModule takes two arguments 的錯誤是怎麼回事?
一般在 Windows 底下的 Apache 跑不起來,第一件要做的事就是開啟程式集裡的 Apache HTTP Server > Configure Apache Server > Test Configuration
如果是出現以下的錯誤:
Syntax error on line 971 of C:/Program Files/Apache Group/Apache2/conf/httpd.conf:
LoadModule takes two arguments, a module name and the name of a shared object file to load it from Note the errors or messages above, and press the key to exit. ....
就要修正你的 httpd.conf 了,要到你安裝 apache 目錄下的 conf 下去找到這個檔案,也可以在程式集裡快速編輯這個檔案:
Apache HTTP Server > Configure Apache Server > Edit the Apache httpd.conf Configuration File
原因可能是因為你的 PHP 裝到 Program Files 或是其它有空白字元的目錄裡面去了,以這一行為例:
LoadModule php4_module C:\Program Files\PHP\sapi\php4apache2.dll
雖然 Apache 在 Windows 底下可以裝在 Program Files 目錄底下,但是因為 LoadModule 後面的空白是被拿來當做參數的區隔,如果 PHP 安裝目錄裡有空白,可能就會造成誤判空白後的字元是另一個參數。
像這樣的狀況你可以自行建一個C:\PHP ,把 php4apache2.dll 放到裡面,或是其它無空白字元的目錄。
但是也有說,我就是喜歡放 Program Files,怎麼樣?
那也可以,只是要任性之前,一定要有充份的知識。
只要了解 Windows 為了相容之前 8.3 的檔名時,超過的部份可以用 ~ 代替,範例如下:
LoadModule php4_module C:\Progra~1\PHP\sapi\php4apache2.dll
只是 ~ 後面接的編號會依 8.3 相容檔名的重覆先後次序而有所不同,甚這點是要注意的。像如果超過 9 ,可能就會變成 Progr~10 (因為要湊八個字,所以 a 不見了)。
不過通常打 Progra~1 就是 Program Files 了,也不用想太多了,呵呵。