安装Apache没有问题。一切正常,包括所有虚拟服务器。 安装PHP顺利,安装会将条目放入httpd.conf而不会出现错误。 然而,当我尝试安装PHP后加载Apache时,Apache无法加载。
当在httpd.conf中包含PHP条目时,Apache返回的错误让我感到困惑:
Syntax error on line 1029 of C:/Program Files/Apache Group/Apache2/conf/httpd.conf:
Cannot load C:/Program Files/PHP/php5apache2_2.dll into server: The specified module could not be found.
这是需要翻译的内容:
这些行是:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:\Program Files\PHP\"
LoadModule php5_module "C:\Program Files\PHP\php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
(第 1029 行是 LoadModule 行)这里的 dll 文件位置肯定正确。该行语法由 PHP 插入。我已将其与我拥有的以前版本的 httpd.conf 的语法进行了比较,它似乎是正确的。我认为语法错误是一个误导性信息。
我尝试过:
- 在 dll 位置中切换反斜杠和斜杠。
- 将 PHP 添加到路径中。
- 按顺序安装 Apache 和 PHP。
- 检查 PHP 文件夹和单个文件的权限,以确保 SYSTEM 具有读取/执行权限。
注释掉 PHP 行后,Apache 可以正常加载。如果我注释掉 LoadModule 行并只留下 PHPIniDir 行,则仍然无法加载。Apache 似乎表现出无法看到 PHP 目录的情况,但我无法弄清楚原因。
Windows 事件日志上没有任何记录。使用最新版本的 PHP 和 Apache。我不知道下一步该尝试什么。请给予任何建议,谢谢。
C:\PHP
)重新安装 PHP。 - Ry-C:\Program Files (x86)
文件夹而不是C:\Program Files
,因此路径不匹配。 - Havelock