在重新启动MAMP之后,我注意到MySQL服务器复选框并没有像通常那样变成绿色。我再次点击'Start Servers‘,收到一条消息:"Apache无法启动,因为其他软件正在使用8888端口。“很奇怪,因为我没有对系统或应用程序做任何更改,也没有安装任何更新。我打开Chrome,输入了我正在本地开发的一个站点的网址,它没有出现任何问题。但是,当我试图使用虚拟用户帐户登录站点时,我收到了"SQLSTATEHY000无法通过套接字连接到本地MySQL服务器“/Applications/MAMP/tmp/mysql/mysql.sock‘(2)”消息。
关于第一个问题(Apache被另一个程序使用),我打开了终端和>> sudo lsof -i -P | grep -i "listen"来查看哪些端口会出现。当MAMP关闭时,控制台输出为
launchd 1 root 23u IPv6 0x156733646a84db9h 0t0 TCP *:5900 (LISTEN) launchd 1 root 24u IPv4 0x156733646a84eba8 0t0 TCP *:5900 (LISTEN) launchd 1 root 28u IPv6 0x156733646a84d75u 0t0 TCP localhost:631 (LISTEN) launchd 1 root 29u IPv4 0x156733646a84e3bu 0t0 TCP localhost:631 (LISTEN) launchd 1 root 31u IPv6 0x156733646a84d31u 0t0 TCP *:22 (LISTEN) launchd 1 root 32u IPv4 0x156733646a857ba5 0t0 TCP *:22 (LISTEN) kdc 96 root 6u IPv6 0x156733646a84cedt 0t0 TCP *:88 (LISTEN) kdc 96 root 8u IPv4 0x156733646c2a9ba5 0t0 TCP *:88 (LISTEN) imagent 270 userhomedirectory 7u IPv4 0x156733646a1a13bb 0t0 TCP *:52216 (LISTEN) EEventMan 279 userhomedirectory 4u IPv4 0x156733646a8573bb 0t0 TCP *:2968 (LISTEN)运行MAMP时的输出为(上面列出的所有内容)+:
httpd 28772 userhomedirectory 5u IPv6 0x156733646a84b55f 0t0 TCP *:8888 (LISTEN) httpd 28786 userhomedirectory 5u IPv6 0x156733646a84b55f 0t0 TCP *:8888 (LISTEN) httpd 28790 userhomedirectory 5u IPv6 0x156733646a84b55f 0t0 TCP *:8888 (LISTEN) httpd 28791 userhomedirectory 5u IPv6 0x156733646a84b55f 0t0 TCP *:8888 (LISTEN) httpd 28792 userhomedirectory 5u IPv6 0x156733646a84b55f 0t0 TCP *:8888 (LISTEN) httpd 28793 userhomedirectory 5u IPv6 0x156733646a84b55f 0t0 TCP *:8888 (LISTEN) httpd 28794 userhomedirectory 5u IPv6 0x169041156a84b55f 0t0 TCP *:8888 (LISTEN)
因此,只有在MAMP启动时才使用端口8888,这也告诉我web服务器实际上是连接的。所以我不明白为什么我会收到Apache端口错误。
无论如何,接下来我打开了Activity,并关闭了正在运行并重新启动MAMP的每个httpd和mysqld进程,但是问题仍然存在。在我第一次杀死它之后,mysqld过程就再也没有出现过。
然后,我搜索了。我偶然发现了关于MAMP的职位,并决定尝试建议的解决方案,但没有结果。这个职位的删除和重新安装整个应用程序的建议也是如此。
到目前为止,我无法判断mysql错误是导致apache错误还是apache错误导致mysql错误。因此,我搜索并尝试了几种有关mysql错误的解决方案,包括来自这个职位和这个职位的建议,但它们都不适合我。我的意思是,我真的试过了那些页面上的每一个建议,从贴出的答案到评论。
我还尝试重新启动我的计算机,更改apache、nginx和mysql端口配置设置,从apache切换到nginx,从终端加载MAMP的MySql,使用套接字配置创建my.cnf文件。但都没起作用。
有人有这方面的经验吗?是Apache端口错误还是MySQL套接字错误?还是完全不同的东西?考虑到没有在系统或应用程序中安装更新或对任何东西进行更改,是什么原因造成了这种情况呢?
提前谢谢。
*编辑2014年12月10日*
我整晚都在玩这个。我重新安装了几次这个应用程序。安装了一些更新,甚至将我笔记本的MAMP安装程序复制到我的桌面上。但是,我还是犯了同样的错误。然后,我将MAMP的文档根目录更改为默认的Mac HD -> Applications -> MAMP -> htdocs,并且它工作了!我以前把它设置为/Users/userhomedirectory/Sites。
我把它作为编辑而不是答案发布,因为问题仍然存在。将文档根更改为Users/myhomedirectory/Sites将提供与以前相同的错误消息,因此我的解决方案更多地是一种解决方案。希望这能为某些人点燃一个灯泡,因为我仍然不知道原因和/或解决方案是什么。
发布于 2017-08-08 08:19:05
发布于 2019-12-24 09:00:27
尝试进入活动监视和搜索Mysqld和Httpd,并结束它们的任何进程。然后重新启动Mamp。这对我来说很管用
发布于 2014-12-09 20:31:56
转到MAMP配置,并将端口地址8888更改为任何其他地址
MAMP->Preferences->Ports->Apache Port我觉得会很好的
https://stackoverflow.com/questions/27387922
复制相似问题