14

我在带有 Xampp 发行版的 Windows 7 Pro 上安装了 Apache 服务器。Apache 从 XAMPP 控制面板启动正常,但我希望能够从命令提示符控制它。当我尝试从命令提示符启动它时,我收到以下错误:

C:\>httpd -k start [Fri Jun 14 13:21:59.055815 2013] [mpm_winnt:error] [pid 6344:tid 144] (OS 2)The system cannot find the file specified. : AH00436: No installed service named "Apache2.4".

我试图更改 httpd.conf 中的侦听端口。它不会改变任何东西。有什么线索吗?

谢谢。

4

11 回答 11

34

在我下载了适用于 Windows 的 Apache 2.4 并第一次尝试启动它后,我遇到了“AH00436:没有安装名为“Apache2.4”的服务”的问题。

解决方案非常非常简单。当您手动尝试通过“httpd -k start”启动网络服务器时,您会收到错误消息,但尚未定义任何服务。

只需执行“httpd -k install”,Windows 服务就会添加到注册表中。之后,“httpd -k start”可以正常工作而不会出现错误消息。

于 2015-03-09T08:12:29.983 回答
6

运行相同的命令时,我刚刚收到类似的错误消息,但就我而言,我刚刚从http://www.wampserver.com/en/安装了 wamp

C:\wampserver\bin\apache\apache2.4.9\bin>httpd -k start [Mon Sep 29 14:27:05.203039 2014] [mpm_winnt:error] [pid 10720:tid 424] (OS 2)系统找不到指定的文件。: AH00436: 没有安装名为“Apache2.4”的服务。

我发现当我在命令行中使用“-n”开关来包含 Apache Web 服务器服务的名称时,它会起作用。

C:\wampserver\bin\apache\apache2.4.9\bin>httpd -n wampapache64 -k start

所以在我看来,除非在命令行中使用“-n”开关包含服务名称,否则假定要启动的服务名称是“Apache2.4”。就我而言,我没有名为 Apache2.4 的服务,因此命令失败。我确实有一个名为 wampapache64 的服务,所以当我在命令行中指定该服务名称时,它运行时没有错误。

于 2014-09-29T13:37:26.240 回答
1

我通过安装 apache 服务解决了这个问题。对于 apache,当我转到 Apache -> Service 时,我什至无法启动该服务,因为这些行已被禁用......所以我安装了该服务,即水平规则线下方的行。

显然,我的 apache 不允许在我的计算机上访问......(安装服务后弹出一个窗口,要求在计算机上对 apache 进行“允许访问”)

希望这可以帮助。

更新 我使用的是 wamp,而不是 xampp。

于 2014-10-25T17:21:10.633 回答
1

由选项触发的任何操作-k(它们称为信号)都需要 Apache 服务存在于 Windows 服务列表中。因此,如果您看到此错误消息,则只有两个可能的原因:

您的 Apache 服务不存在

然后只需创建它

httpd.exe -h install

现在你应该可以发送重启信号了

httpd.exe -k restart

您的 Apache 服务有一个自定义名称

如果服务存在,但有一个自定义名称,例如“My Awesome Apache Service”,那么当您想向它发送任何信号时,您必须指定该名称。

所以,如果你已经安装了它

httpd.exe -k install -n "My Awesome Apache Service"

你必须重新启动它

httpd.exe -k restart -n "My Awesome Apache Service"
于 2021-11-26T11:43:31.253 回答
0

我遇到了同样的问题,分两步解决:

  • 首先,确保将 Apache 2.4 作为服务安装。您可以通过以管理员身份执行 Xampp 控制面板并单击“服务”列中的图标来执行此操作。

  • 默认情况下,Apache 使用 2 个端口:80 和 443。您必须确保这些端口是空闲的。就我而言,我使用的是 443 端口(SSL)。您可以通过修改“conf/httpd.conf”(用于标准端口)和“conf/extra/httpd-ssl.conf”(用于 SSL 端口)中的侦听端口来更改此设置。

祝你好运!问候。

于 2014-12-23T09:10:00.500 回答
0

这是您上述错误的解决方案:

请将 httpd.conf 文件中的 ServerRoot 和 DocumentRoot 指令从默认路径 (c:\Apache24) 更改为 zip 安装路径(当前 apache24 zip 提取路径)

ServerRoot "D:\httpd-2.4.4-win32\Apache24"

DocumentRoot "D:\httpd-2.4.4-win32\Apache24\htdocs"

之后重新启动服务器并尝试打开默认页面 http://example.com:请让我知道您的状态

谢谢,Amarnath Polu 和 Bhaskar

于 2013-07-06T11:15:16.983 回答
0

如果您安装了 Skype,请确保它使用“备用端口”,因为它将占用端口 80。如果您退出 Skype 并尝试启动 Wamp,它可能会起作用。这是我尝试手动启动 httpd-service 并收到此错误时的问题。

于 2015-12-05T16:57:01.567 回答
0

如果您没有 VMware 或 Skype,请按照以下步骤操作:

1) 在 Xampp 控制面板 -> 配置 -> Apache(httpd.conf)

Listen 80

ServerName localhost:80

<Directory /> AllowOverride none Require all denied </Directory>

<Directory "C:/xampp/htdocs"> ... Require all granted </Directory>

<Files ".ht*"> Require all denied </Files>

<Directory "C:/xampp/cgi-bin"> AllowOverride All Options None Require all granted </Directory>

2) 在 Xampp 控制面板 -> 配置 -> Apache(httpd-ssl.conf)

Listen 443

<VirtualHost _default_:443>

ServerName localhost:443

3) 在 Xampp 控制面板 -> 配置 -> Apache(httpd-xampp.conf)

<Directory "C:/xampp/php"> AllowOverride None Options None **Require all denied** <Files "php-cgi.exe"> **Require all granted** </Files> </Directory>

<IfModule alias_module>

Alias /licenses "C:/xampp/licenses/"

<Directory "C:/xampp/licenses"> Options +Indexes <IfModule autoindex_color_module> DirectoryIndexTextColor "#000000" DirectoryIndexBGColor "#f8e8a0" DirectoryIndexLinkColor "#bb3902" DirectoryIndexVLinkColor "#bb3902" DirectoryIndexALinkColor "#bb3902" </IfModule> **Require all granted** ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory>

Alias /phpmyadmin "C:/xampp/phpMyAdmin/"

<Directory "C:/xampp/phpMyAdmin"> AllowOverride AuthConfig **Require all granted** ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory>

Alias /webalizer "C:/xampp/webalizer/"

<Directory "C:/xampp/webalizer"> <IfModule php7_module> <Files "webalizer.php"> php_admin_flag safe_mode off </Files> </IfModule> AllowOverride AuthConfig **Require all granted** ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory>

</IfModule>

4)找到cmd.exe并右键选择以管理员身份运行

5)类型cd C:\xampp\apache\bin(Xampp的安装路径)

6) 类型httpd -k install

7) 类型httpd -k start

8) 启动阿帕奇

于 2019-04-07T01:25:01.263 回答
0

同样的问题也发生在我身上。当我检查使用httpd.exe -e warn它时显示错误。

每个套接字地址(协议/网络地址/端口)通常只允许使用一次:AH00072:make_sock:无法绑定到地址 [::]:80

每个套接字地址(协议/网络地址/端口)通常只允许使用一次:AH00072:make_sock:无法绑定到地址 0.0.0.0:80

所以我的错误是多个Listen条目以及Listen 80 in httpd.config。我只是评论#Listen 80并重新启动服务,问题就解决了。

于 2018-11-14T22:18:55.570 回答
0

为了与 XAMPP 一起工作,Apache 需要作为服务运行。

  • 打开 XAMPP 控制面板(确保“以管理员身份运行”)。
  • 停止阿帕奇。
  • 单击ServiceApache 列上的红叉(使其变为绿色勾号)。
  • 启动阿帕奇。

在此处输入图像描述

奖金:

当您执行此操作时,Apache 将在您每次启动 PC 时启动。如果您想手动启动它(和以前一样),请将(搜索栏 -> 服务)从更改Startup Type为。service.mscAutomaticManual

在此处输入图像描述

于 2021-05-04T16:57:54.620 回答
0

解决方案非常简单,我有 Apache for x86 和 PHP for x64,当我重新安装 PHP for x86 时,这个错误消失了。

不要为不同的平台混合使用 Apache 和 PHP 版本。

于 2020-08-26T20:07:21.757 回答