5

尝试启动我的服务器时,Apache 无法启动,并且 MAMP 声称端口 ([::]:8888) 已在使用中。

我已经尝试了几乎所有我知道的确定哪个进程正在使用该端口的方法(以及之前在 SO 上列出的许多解决方案),但我没有得到任何结果。lsof 或 netstat 都没有列出任何关于端口 8888 的信息。似乎根本没有任何东西在使用这个端口。

我需要改进我的搜索并找到真正使用该端口的(如果有的话),或者以某种方式说服 MAMP 该端口实际上并未在使用中。有什么建议么?

编辑:将端口更改为 8887 允许 Apache 启动。这不会改变没有任何东西正在使用端口 8888 并且它应该与该端口一起使用的事实。

4

7 回答 7

26

尝试进入活动监视器并搜索 Mysqld 和 Httpd 并结束它们的所有进程。然后重新启动 Mamp。

于 2014-10-29T21:16:58.807 回答
6

杀死所有 httpd 和 Mysqld 进程为我解决了这个问题。我运行了大约 10 个 httpd 实例。不知道为什么。

于 2015-01-19T14:33:45.910 回答
1

原来我的 Mac 的 Apache 在安装 PHP 扩展时启动,以便稍后与 MAMP 一起使用。然后我干脆停止了它。然后 MAMP 又开始工作了。

sudo apachectl stop
于 2018-03-17T22:37:30.553 回答
0

升级到 bash-4.3.27-10.4u 后,我还注意到 apache 无法使用在 Intel Core Duo 上的 Mac OS X 10.6.8 上运行的 MAMPS 1.7.2 在端口 8889 上启动。叹。解决方案似乎是恢复到旧版本的 bash 和 sh。

随后的调查证实,新的 sh 或新的 bash 或两者都将阻止 apache 启动。

于 2014-09-30T21:09:53.193 回答
0

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

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

如果您不喜欢它,请随意使用 kill 杀死进程 ID(或 killall 作为进程名称)

于 2015-06-10T05:05:49.923 回答
0

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

重新启动 MAMP。它会起作用的。

于 2017-05-08T05:45:55.270 回答
0

如果你去

首选项 > 退出 MAMP 时 > 检查“停止服务器”

当您退出 MAMP 时,它将杀死上面列出的所有进程。

于 2019-03-07T15:51:46.880 回答