4

我在 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。我有点不知所措,下一步该尝试什么。请问有什么建议吗?

4

5 回答 5

11

从此链接下载并按照说明进行操作:http: //www.apachelounge.com/download/

最新下载 (2.4) 适用于 Windows 8 和 Server 2012。

我在 Windows 8 上下载并测试了以下内容:每个 zip 都有一个带有说明的 readme.txt 或 install.txt。

我添加/修改的 httpd.conf 行是:

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module "C:/Apache24/php-5.4.8/php5apache2_4.dll"
LoadFile "C:/Apache24/php-5.4.8/php5ts.dll"
PHPIniDir "C:/Apache24/php-5.4.8"
<IfModule php5_module>
  <Location />
    AddType text/html .php
    AddHandler application/x-httpd-php .php
    #AddHandler application/x-httpd-php-source .phps
  </Location>
</IfModule>
于 2012-11-19T11:09:18.617 回答
1

它在与 ApacheLounge 的 dll 一起打包的 Readme.txt 文件中提到,但在下载页面或文件名中的其他任何地方都没有提到(与所有其他版本一样):

“使用 PHP 5.4 线程安全 (TS) 运行,并且仅使用 Apache 2.4 Win32 VC9 或 VC10”

这些dll仅适用于TS版本,所以如果你下载了另一个,你基本上就完蛋了。TS php 二进制文件为我修复了它。

总帐。

于 2013-05-23T12:50:18.790 回答
0

假设这是您的开发环境,而不是部署环境,您为什么不直接从apache 朋友那里下载xampp呢?它应该是预先配置的,无论如何您都将在其他设置中进行部署。

于 2012-11-17T16:02:57.660 回答
0

在 Win 8 上重新安装 Apache 和 PHP 时,我遇到了类似的问题(不过我是更多的 Linux 用户)。与原始帖子类似,无论我在 httpd.conf 和 php.ini 中尝试做什么,Apache 要么没有启动,要么没有看到 PHP。在花费了不合理的时间之后,我决定下载PHP 5.3 (5.3.27)-VC9 x86 Thread Safe (2013-Jul-10 21:56:58) Installer [45.86MB]而不是我以前一直在使用。.msi 安装程序有所不同。线程安全版本的版本实际上包含所需的文件,如果您按照安装程序提示操作,它实际上会询问您是否应该将 php 安装“链接”到 Apache 服务器。然后,您只需提供 hhtpd.conf 目录,一切正常。这就是我的 2c :)

于 2013-08-22T23:49:51.480 回答
-1

我认为问题出在空白的“程序文件”中。

于 2013-02-25T06:23:53.100 回答