解决windows下安装Apache+PHP出现LoadModule takes two

来源:互联网 发布:mac版的eos utility 编辑:程序博客网 时间:2024/05/22 00:10
今天装信达OA时突然出现了LoadModule takes two arguments, a module name and the name of a shared object file to load it from,经查看httpd.conf完全没问题,之前默认安装也没出现问题.
后来才发现是加载模块那条命令出现了路径空格导致的.

以这一行为例:
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 了,也不用想太多了