最新更新后无法在 Mac High Sierra 10.13.5 上启动 apache(2018 年 6 月 15 日)
Posted
技术标签:
【中文标题】最新更新后无法在 Mac High Sierra 10.13.5 上启动 apache(2018 年 6 月 15 日)【英文标题】:Unable to start apache on Mac High Sierra 10.13.5 after latest update (June 15th 2018) 【发布时间】:2018-11-26 14:06:34 【问题描述】:两天前我在 Mac High Sierra 上进行了最新更新,之后我无法在端口 80 上启动 apache。我不断收到
(48)地址已在使用中:AH00072:make_sock:无法绑定到 地址 [::]:8080 (48)地址已经在使用:AH00072:make_sock:无法绑定到 地址 0.0.0.0:8080 没有可用的监听套接字,正在关闭 AH00015: 无法打开日志
我使用 sudo lsof -i TCP:80 检查了端口 80 上运行的内容:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 15116 root 4u IPv6 0xe9c01ec682a44c67 0t0 TCP *:http
(LISTEN)
httpd 15387 _www 4u IPv6 0xe9c01ec682a44c67 0t0 TCP *:http
(LISTEN)
httpd 15388 _www 4u IPv6 0xe9c01ec682a44c67 0t0 TCP *:http
(LISTEN)
和sudo lsof -i TCP:8080:
httpd 11689 daemon 4u IPv6 0xe9c01ec68ff9f6a7 0t0 TCP
*:http-alt (LISTEN)
httpd 11690 daemon 4u IPv6 0xe9c01ec68ff9f6a7 0t0 TCP
*:http-alt (LISTEN)
httpd 11691 daemon 4u IPv6 0xe9c01ec68ff9f6a7 0t0 TCP
*:http-alt (LISTEN)
httpd 11744 daemon 4u IPv6 0xe9c01ec68ff9f6a7 0t0 TCP
*:http-alt (LISTEN)
当我点击 localhost:8080 时,我得到了
EnterpriseDB
Apache - version 2.4.12
php - version 5.5.26
Server is up and running
The default Apache context is www in the Apache installation folder
然后尝试使用 sudo kill -9 portId 杀死端口 8080 上的相关进程,但没有运气。
最后但并非最不重要的一点是,在更新 /etc/apache2/httpd.conf 之前,我有:
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
</IfDefine>
在更新之前一切都很好..
感谢任何帮助。
我附上我在 2018 年 7 月 31 日收到的内容,如 @Ivan Hušnjak 所示
运行 sudo lsof -i TCP:80 我什么也没得到
运行 sudo lsof -i TCP:8080 返回:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 7470 root 4u IPv6 0xe7c340f978e197b1 0t0 TCP *:http-alt (LISTEN)
httpd 7481 daemon 4u IPv6 0xe7c340f978e197b1 0t0 TCP *:http-alt (LISTEN)
httpd 7483 daemon 4u IPv6 0xe7c340f978e197b1 0t0 TCP *:http-alt (LISTEN)
httpd 7484 daemon 4u IPv6 0xe7c340f978e197b1 0t0 TCP *:http-alt (LISTEN)
【问题讨论】:
【参考方案1】:我的猜测是 MaxOS 内部 apache 服务器在更新到 10.13.5 后已经接管了端口 80 的控制权,但是我通过卸载它来解决这个问题,就像在此处找到的这些旧答案中所解释的那样 https://***.com/a/46720652/555097 和此处 https://***.com/a/11720851/555097
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
【讨论】:
我回家试一试告诉你 不幸的是,它不起作用。我一直在接受我在帖子开头提到的错误。我还能做些什么来进一步调查这个问题吗?您要发布我的 httpd.conf 或任何其他文件来看看吗? 这对我有用,因为我没有尝试使用系统 apache,而是来自 MAMP 安装的一个。您是否尝试过通过sudo launchctl list
查看注册的守护进程/服务并比较 lsof 结果中的任何 PID 是否匹配?
顺便说一句,我认为您的 httpd.conf
没有任何问题,因为它会在尝试运行 apachectl
时引发不同类型的错误,但是您可以通过 sudo apachectl configtest
测试配置是否正常,然后查看如果它抱怨 antyhing
现在比较端口 80 和 8080 的 launchctl list
和 lsof
结果的 PID,看看是否有任何匹配... ,如果可以安全地使用launchctl unload
命令卸载它以上是关于最新更新后无法在 Mac High Sierra 10.13.5 上启动 apache(2018 年 6 月 15 日)的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Mac High Sierra 上打开 UIAutomatorviewer
无法在 Mac OS High Sierra 上设置 phpmyadmin
2011年的macos+high+sierra如何更新系统?
Mac git pull失败,最新操作系统导致 SSH issues with Mac OS X High Sierra