我在带有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中更改Listen端口。它没有改变任何东西。有线索吗?
感谢。
答案 0 :(得分:27)
在我下载Apache 2.4 for Windows并试图第一次启动它之后,我遇到了与“AH00436:没有安装的名为”Apache2.4“的服务完全相同的问题。
解决方案非常简单。当您手动尝试通过“httpd -k start”启动Web服务器时收到错误消息,但尚未定义任何服务。
只需执行“httpd -k install”,即可将Windows服务添加到注册表中。之后,“httpd -k start”无错误消息。
答案 1 :(得分:5)
我在运行相同命令时遇到类似的错误消息,但在我的情况下,我刚安装了来自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:错误] [pid 10720:tid 424](OS 2) 系统找不到指定的文件。 :AH00436:没有安装 服务名为“Apache2.4”。
我发现当我在命令行中使用“-n”开关时 要包含Apache Web服务器服务的名称,它就可以工作。
C:\ wampserver \ bin \ apache \ apache2.4.9 \ bin> httpd -n wampapache64 -k 启动
所以在我看来,除非使用包含服务的名称 “-n”在命令行中切换,假定该服务的名称 首先是“Apache2.4”。 在我的情况下,我没有名为Apache2.4的服务,因此命令失败。 我确实有一个名为wampapache64的服务,所以当我指定它时 它运行的命令行中的服务名称没有错误。
答案 2 :(得分:1)
我通过安装apache服务解决了这个问题。对于apache,当我去Apache时 - >服务,我甚至无法启动服务,因为这些线路被禁用...所以我安装了服务,水平规则线下面的线。
显然,我的apache不允许在我的计算机上访问...(在安装服务后弹出一个窗口要求"允许访问"用于apache时)在电脑上)
希望这有帮助。
更新的 我使用的是wamp,而不是xampp。
答案 3 :(得分: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&巴斯卡尔
答案 4 :(得分:0)
我遇到了同样的问题并分两步解决了这个问题:
首先,确保Apache 2.4作为服务安装。您可以通过以管理员身份执行Xampp控制面板并单击" service"中的图标来执行此操作。列。
默认情况下,Apache使用2个端口:80和443.您必须确保这些端口是免费的。就我而言,我使用了443端口(SSL)。您可以通过修改" conf / httpd.conf"中的监听端口来更改此设置。 (对于标准端口)和" conf / extra / httpd-ssl.conf" (对于SSL端口)。
答案 5 :(得分:0)
如果您安装了Skype,请确保它使用"备用端口"因为它将占用端口80.如果您退出Skype并尝试启动Wamp,它可能会起作用。尝试手动启动httpd服务并收到此错误时,这是我的问题。
答案 6 :(得分:0)
我也遇到了同样的问题。当我使用httpd.exe -e warn
检查时,显示错误。
每个套接字地址(协议/网络地址/端口)仅一种用法 通常是允许的:AH00072:make_sock:无法绑定到地址 [::]:80
每个套接字地址(协议/网络地址/端口)仅一种用法 通常是允许的:AH00072:make_sock:无法绑定到地址 0.0.0.0:80
因此,我的错误是Listen
中有多个Listen 80
条目和httpd.config
。我只是评论#Listen 80
并重新启动服务,问题已解决。
答案 7 :(得分:0)
如果您没有VMware或Skype,请执行以下步骤:
Xampp控制面板中的1)->配置-> 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)->配置-> 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)启动Apache
答案 8 :(得分:0)
解决方案非常简单,我为x86安装了Apache,为x64安装了PHP,当我为x86重新安装PHP时,此错误消失了。
请勿在不同平台上混合使用Apache和PHP版本。
答案 9 :(得分:0)