whe*_*hip 5 php mysql sockets apache tcp
重新启动MAMP后,我注意到MySQL Server复选框没有像往常那样变绿.我再次单击"启动服务器"并收到一条消息,指出"由于某些其他软件正在使用端口8888,因此无法启动Apache." 很奇怪,因为我没有对系统或应用程序进行任何更改,也没有安装任何更新.我打开Chrome并输入了我正在本地开发的网站的网址,它显示没问题.但是,当我尝试使用虚拟用户帐户登录该站点时,我收到了"SQLSTATE [HY000] [2002]无法通过套接字连接到本地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)
因此,端口8888仅在启动MAMP时使用,这也告诉我实际上是连接了Web服务器.所以我不明白为什么我收到Apache端口错误.
无论如何,接下来我打开了Activity Monitor并杀死了正在运行并重新启动MAMP的每个httpd和mysqld进程,但问题仍然存在.我第一次杀死它后,mysqld进程再也没有出现过.
然后,我搜索了SO.我遇到了关于MAMP PRO 的帖子,并决定尝试建议的解决方案,但无济于事.这同样适用于这个职位的建议,删除并重新安装整个应用程序.
到现在为止,我无法判断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给我提供与以前相同的错误消息,因此我的解决方案更像是一种解决方法.希望这能为某人制造灯泡,因为我仍然无法弄清楚可能是什么原因和/或解决方案.
小智 4
转到 MAMP 配置并将端口地址更改8888为任何其他地址
MAMP->Preferences->Ports->Apache Port
Run Code Online (Sandbox Code Playgroud)
我认为它会工作得很好
| 归档时间: |
|
| 查看次数: |
27613 次 |
| 最近记录: |