Wamp中Apache无法启动

44

我已经谷歌搜索了几个小时,但就是无法启动wamp上的apache。我的skype没有运行,测试端口80也显示没有被任何程序使用。在这发生之前,我尝试添加一个新的虚拟主机,但现在我已经恢复了所有更改过的文件。有没有办法调试为什么apache无法启动?

单击启动/恢复apache服务并没有显示任何错误。

此外,以防万一,我正在运行Win7 64bit操作系统。


请查看Apache错误日志。除此之外,我们无法告诉您更多的细节。 - Marc B
请告诉我需要哪些信息。至于错误日志,我已经检查过了,似乎没有任何错误。最后三行是[Sat Mar 15 02:36:26.040647 2014] [mpm_winnt:notice] [pid 1352:tid 344] AH00422: Parent: Received shutdown signal -- Shutting down the server. [Sat Mar 15 02:36:28.056762 2014] [mpm_winnt:notice] [pid 1308:tid 236] AH00364: Child: All worker threads have exited. [Sat Mar 15 02:36:28.139767 2014] [mpm_winnt:notice] [pid 1352:tid 344] AH00430: Parent: Child process 1308 exited successfully. - Aoi
16个回答

124
如果您在httpd.conf或其包含的任何文件中遇到问题,有几种方法可以找出问题所在。
首先查看您的Windows事件查看器。单击左侧菜单中的Windows链接,然后选择子菜单应用程序。查找带有红色错误图标的Apache消息。
其次,打开命令窗口,然后CD进入\wamp\bin\apache\apache2.x.y\bin,将x,y替换为您实际的版本。现在,您可以运行此命令使Apache(httpd)验证httpd.conf文件。
httpd.exe -t

这应该会产生与http.conf文件相关的带有行号的错误。

它会在第一个错误处停止,所以你需要不断运行并修复错误,然后再次运行,直到它给出完全OK的消息。


谢谢,这非常有帮助! - Thomas Vincent Blomberg
3
非常有帮助,谢谢。我无法在Apache错误日志中找到任何错误——原来它们被Windows服务管理器捕获了,我需要查看事件查看器。 - zrisher
我使用了 httpd.exe -t 命令来修复语法错误,谢谢。 - Ali Zarei
这个答案帮助我找到了一个错误,当我把目录指向安装目录时。我添加了太多的“www”,这是发现告诉我错误的方法。 - Sablefoste
那真是个救星! - Jones G
这很有帮助,我的Apache错误日志也没有包含任何错误。只是一个小问题,在我的情况下,我需要键入.\httpd.exe而不是httpd.exe -t。 - prk_001

20

这就是我所做的,它帮助我找出了我的Apache-PHP需要什么:

C:\Users\Admin>cd C:\wamp\bin\apache\apache2.4.9\bin

C:\wamp\bin\apache\apache2.4.9\bin>httpd -t
Syntax OK

C:\wamp\bin\apache\apache2.4.9\bin>httpd -k start
[Thu Apr 23 14:14:52.150189 2015] [mpm_winnt:error] [pid 3184:tid 112] 
(OS 2)The system cannot find the file specified.  : AH00436: 
No installed service named "Apache2.4".

C:\wamp\bin\apache\apache2.4.9\bin>

最简单的解决方案:

卸载并重新安装WAMP(不要试图在现有安装的基础上设置它-这是无助于解决问题的)

P.S.

如果你想知道我是怎么陷入这种情况的,答案如下:

我正在尝试安装WAMP,但是在安装过程中出现错误提示:

httpd.exe - System Error

The program can't start because MSVCR110.dll is missing from your computer. 
Try reinstalling the program to fix this problem.

OK

我从这里下载并安装了Microsoft Visual C++ 2012 Redistributable http://www.microsoft.com/en-us/download/details.aspx?id=30679#

这使得我的MYSQL可以工作,但Apache无法正常工作。为了让Apache正常工作,我卸载并重新安装了WAMP。


4
很不幸,这个答案是不准确的。显然,没有叫做“Apache2.4”的服务存在,因为Wamp安装的服务名叫做“wampapache”,而不是“Apache2.4”。重新安装其他版本可能需要新的Microsoft Visual C++ Redistributable,如果你没有安装它,会导致某些dll文件缺失。尽管如此,这个问题可能与服务缺失无关。请检查您的httpd.conf文件。即使语法是正确的,您可能会遇到其他错误,比如绑定到错误的IP地址。请参考Raymon的答案获取更多信息。 - mavrosxristoforos
在回答时,它是准确的,可能新的 Wamps 已经重命名了服务,我现在使用 Homestead-Vagrant-Box。可以尝试一下。 - Yevgeniy Afanasyev
2
我并不想要发起任何争议,但我可以非常确定这个问题至少已经持续了三到四年时间,因为我曾经使用过一个那么旧的Wamp版本,直到最近才升级。尽管如此,这个信息现在已经不准确了,我只是写出来帮助新读者而已,没有任何恶意。 - mavrosxristoforos
我害怕它从来没有准确过。WAMPServer Apache服务一直被称为wampapache,最近如果您安装了64位版本,则称为wampapache64 - RiggsFolly
命令 httpd -k install 会运行,但它将创建一个默认名称为 Apache 的服务。 - RiggsFolly
显示剩余3条评论

20

使用Apache的启动调试工具命令:

httpd.exe -e warn

  1. 按下 Win+R
  2. 输入 cmd 并回车
  3. 进入包含Apache httpd.exe文件的目录。例如,如果您的WAMP安装在 e:\wamp 中,请在cmd中输入 cd /d e:\wamp\bin\apache\ApacheX.X.X\bin 并回车。
  4. 输入 httpd.exe -e warn(或 httpd.exe -e debug 以获取更多详细信息),以查看有关阻止Apache启动的问题的错误消息。

嗨,提前感谢你。我按照你的步骤操作后得到了这个结果:SetEnv PATH "C:\Bitnami\wampstack-7.3.11-0/apache2/bin;${PATH}"。 - I Wanna Know

1

前往C盘,然后进入你的wamp服务器所在路径。

C:\wamp64\bin\apache\apache2.4.46\bin>

在地址栏输入“CMD”并按回车键,这将打开命令提示符。现在粘贴以下命令。
httpd.exe -e warn

如果您想查看有关阻止Apache启动的问题的错误消息。 如果您的错误与端口有关,则 右键单击Wamp服务器,然后单击Apache,然后单击httpd.confg, 现在在该文件中搜索80并将其替换为81,然后关闭并重新启动Wamp。


1
这对我解决了问题:
右键单击WAMP系统托盘图标 -> 工具 -> 重新安装所有服务

0
我的解决方案是,目录中缺少2个.dll文件(msvcp110.dll, msvcr110.dll): C:\wamp\bin\apache\apache2.4.9\bin 所以我将这两个文件复制到所有这些位置,以防万一,并重新启动了wamp。 C:\wamp C:\wamp\bin\apache\apache2.4.9\bin C:\wamp\bin\apache\apache2.4.9 C:\wamp\bin\mysql\mysql5.6.17 C:\wamp\bin\php\php5.5.12
希望这能帮助到某些人。

0

使用apacheconf.exe打开phpmyadmin.conf文件,然后将内容链接起来,您需要执行以下操作:

  1. 复制phpsysinfo.conf的内容[C:\wamp\alias]
  2. 粘贴到phpmyadmin.conf中[C:\wamp\alias]
  3. Alias /phpsysinfo "c:/wamp/apps/phpsysinfo3.1.12/"更改为Alias /phpmyadmin "c:/wamp/apps/phpmyadmin4.1.14/"
  4. <Directory c:/wamp/apps/phpsysinfo3.1.12/ />更改为<Directory c:/wamp/apps/phpmyadmin4.1.14/ />

这对我有用。


0

我曾经遇到过同样的问题。

我按照以下步骤操作,问题得以解决。

以管理员权限运行命令行(CMD)。

cd c:/wamp64/bin/apache/apache2.4.27/bin

httpd.exe -k uninstall

httpd.exe -k install

最后,在 WAMP 系统托盘图标中重启所有服务。

这将安装Apache作为服务,但它将使用默认名称来命名服务,因此与问题无关,该问题是关于WAMPServer的。WAMPServer中的Apache服务应该具有名称“wampapache”或“wampapache64”。 - RiggsFolly

0

我在 Windows 10 上的解决方案就是停止 IIS(Internet Information Services)。


0
如果 Apache 安装为 Windows 服务,任何错误都会显示在 Windows 系统事件日志中。要查看系统事件日志,请导航到 Windows 管理工具->事件查看器,并在 Windows 日志文件夹中打开系统日志。或者,您可以通过在命令行中运行 httpd.exe 来查看相同的错误。在我的情况下,httpd.exe 位于此处:C:\Bitnami\wampstack-5.6.26-2\apache2\bin。
如果启动 Apache 出现问题,最有可能的问题是可以通过编辑位于 \apache2\conf 文件夹中的 httpd.conf 文件来解决。
如已建议的那样,您可以通过在命令行中运行 httpd.exe -t 来检查 httpd.conf 文件的语法。
我发现我必须更改 httpd.conf 中的 SetEnv PATH "C:\Bitnami\wampstack-5.6.26-2\apache2\bin;${PATH}" 为 SetEnv PATH "C:\Bitnami\wampstack-5.6.26-2\apache2\bin;%PATH%"。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接