我最近在我的Windows机器上安装了Xampp。当我刚刚完成它时它起作用,见here。但是,现在apache将无法启动。我意识到我没有正确关闭它(没有使用xampp_stop),所以也许这可能是原因。
我得到的错误是:
make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
unable to open logs
我怎样才能让它发挥作用?
答案 0 :(得分:12)
刚刚遇到这个非常好的博客,关于Apache无法正常工作。我认为如果你有apache启动问题,它真的很好引用。
以下是我从链接中注意到的步骤:
如果您认为其他任何步骤也可能导致问题,请发表评论。
答案 1 :(得分:7)
我最终解决了它。
转到Xampp控制面板。选中“服务”复选框。
单击“SCM”按钮。 (或“服务”按钮,在“SCM”按钮上)。
然后我点击了服务列表中的“Apache”。打开它。
现在它在控制面板中标记为“正在运行”,“localhost”正常工作。
答案 2 :(得分:6)
几个月前我遇到过这个问题。您必须通过选中XAMPP控制面板中的Svc复选框将Apache设置为自动Windows服务。将其设置为服务后,您需要重新启动Windows才能启动Apache。重新启动Windows后,您应该可以通过XAMPP控制面板停止并启动Apache。
你必须这样做是因为Windows 7有一个名为http.sys的服务,它自动启动并使用端口80.运行Apache作为自动服务会导致apache在http.sys服务之前启动。这允许apache在http.sys启动之前获取端口80。
答案 3 :(得分:4)
一:如果它作为服务运行,请检查Windows中的服务并确保它已停止。
二:如果它不是服务,它只是一个过程;进入任务管理器并找到httpd / apache并终止该过程。
三:确保以管理员身份运行xampp_start / xampp_control,在某些系统上这很重要。
我建议总是使用xampp_control,因为它可以快速显示Apache是否正在运行,即使最近发生了一些异常事件。
尝试
netstat -aon | more
如果这不起作用,看看是否有其他东西正在侦听该端口,并终止该过程。
您可能还希望编辑Apache的httpd.conf(可能在xamppdir / apache / conf中)以侦听另一个端口并查看它是否会启动。
答案 4 :(得分:2)
步骤:
更改这些行中的httpd.cong文件:
Listen 8080
ServerName localhost:8080 ( port as example, 8080)
现在,创建一个xampp.ini文件,xampp-control.exe位于该文件中并将代码放入其中:
[PORTS]
apache = 8080
现在重启xampp。
希望,它可以改变apache端口。但是如果您安装了oracle 10g客户端或安装了perl的任何软件,那么请执行下面的步骤:
4.改变以下行:
`# Perl settings`
`Include "conf/extra/httpd-perl.conf"`
到
`# Perl settings`
`#Include "conf/extra/httpd-perl.conf"`
现在重启xampp,它在8080端口正常工作。
答案 5 :(得分:1)
我在TeamViewer应用程序中发现了问题 - 它默认使用端口80。在高级设置下,我进行了更改,因此应用程序不会使用端口80或443进行传入连接。然后切换xammp并再次运行。它有效!
答案 6 :(得分:1)
我遇到了类似的问题,经过一番研究后发现,我的案例中的罪魁祸首是“万维网发布服务”( W3SVC in iissvcs 组)。
在我的情况下停止此服务后,XAMPP中的Apache运行没有问题。
希望这有帮助
答案 7 :(得分:0)
我的XAMPP Apache突然无法启动,而且,虽然我没有特别得到该错误消息,但是因为我安装了Skype升级,而当我的PC启动阻止了Apache时,Skype接管了端口80 。我调整了一个Skype高级设置来解决这个问题。
答案 8 :(得分:0)
如果您的问题仍未解决,请扫描此页面以查看“Windows自动修复”链接。它对我有用:跑完工具,重新启动电脑,所有端口都打开,立即开启。
http://support.microsoft.com/kb/811259/en
GL
答案 9 :(得分:0)
这可能有助于其他人发布我的特定解决方案的原因。我最近交换了Zend Server CE for XAMPP(2.5)。必须使用Include指令为error_log设置VHOSTS文件。我遇到了SVN的问题,所以我擦掉了我正在进行全新安装的项目。但是,我在进行svn结账之前碰巧启动了XAMPP。那时我注意到apache正忙着...... Apache开始[端口80]业务。有人对这个帖子的评论让我想起了Include指令。我爬过目录并添加了一个空白的error_log和blammo! Apache很好地启动了。
这也可以帮助其他人:)
答案 10 :(得分:0)
在我的情况下,我通过打开xampp \ apache \ conf \ http.conf来解决它。
我将Listen 80改为Listen 2337 在那一行之上,我不得不添加Listen 127.0.0.1:80
然后我打开了xampp \ apache \ conf \ httpd-ssl.conf
我将Listen 80改为Listen 7332
然后我可以再次连接到localhost。