【发布时间】:2012-11-17 15:56:26
【问题描述】:
我在 Windows 8 上使用 Apache/PHP 时遇到了问题。我以前在 XP(以及 MySQL)上使用它们没有任何问题。我从未使用过 Windows 7。
Apache 安装没有问题。一切正常,包括我所有的虚拟服务器。 PHP 安装正常,安装将条目放入 httpd.conf 中而不会出现错误。 但是,当我在安装 PHP 后尝试加载 Apache 时,Apache 不会加载。
当 PHP 条目包含在 httpd.conf 中时,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。我有点不知所措,下一步该尝试什么。请问有什么建议吗?
【问题讨论】:
-
尝试在路径中没有空格的地方重新安装 PHP(例如,
C:\PHP)。 -
想一想:如果您的 Windows 是 64 位的,您的 PHP 可能会在
C:\Program Files (x86)文件夹中而不是C:\Program Files中,因此路径不匹配。 -
尝试安装到 C:\PHP。结果相同。
-
它是 32 位的。我检查了所有路径,我相信它们是正确的。
-
Apache 服务本身是否在 Local System 帐户下运行?