MAMP Pro:Apache 无法启动,因为端口已被占用。

6
当我尝试启动我的服务器时,Apache无法启动,MAMP声称端口([::]:8888)已被占用。我尝试了几乎所有我知道的确定哪个进程正在使用该端口的方法(以及SO上先前列出的许多解决方案),但我没有得到任何结果。lsof或netstat都没有列出任何关于端口8888的内容。似乎根本没有任何东西使用这个端口。 我需要改进我的搜索并找到真正使用该端口的内容(如果有),或者以某种方式说服MAMP该端口实际上未被使用。有什么建议吗? 编辑:将端口更改为8887允许Apache启动。 这并不改变未使用端口8888的事实,它应该使用该端口工作。
7个回答

29

尝试打开“活动监视器”,搜索“Mysqld”和“Httpd”,并结束它们的任何进程。然后重新启动Mamp。


1
你太棒了!在寻找多种解决方案后,终于找到了这个可行的。 - Andres Ramos

6
我把所有的httpd和Mysqld进程全部结束后,问题得到了解决。我发现有大约10个httpd实例在运行,不确定原因是什么。

1

原来在安装用于MAMP的PHP扩展时,我的Mac的Apache启动了。然后我简单地停止了它。这样MAMP就又可以工作了。

sudo apachectl stop

0

抱歉回复晚了。 这个命令会告诉你哪个进程或守护程序正在使用8888端口:

sudo lsof -P -n -iTCP -sTCP:LISTEN

如果你不喜欢它,可以使用kill命令(或者killall命令加进程名)杀掉进程ID。


0

打开 => MAMP => 首选项 => 端口 => 更改 Apache 端口 8888 为 8080

重新启动 MAMP。它将正常工作。


0
升级到bash-4.3.27-10.4u后,我注意到在运行于Mac OS X 10.6.8和Intel Core Duo上的MAMPS 1.7.2中,apache无法在端口8889上启动。唉,解决方案似乎是回退到旧版本的bash和sh。
随后的调查证实,新版sh或新版bash或两者都会防止apache启动。

0
如果您前往偏好设置 > 退出 MAMP 时检查“停止服务器”,那么当您退出 MAMP 时,它将终止上述所有进程。

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