MAMP Apache在OS X 10.8(Mountain Lion)更新后无法启动

4

今天我更新了OS X Mountain Lion操作系统。我发现MAMP中的Apache无法启动。Apache日志文件中没有任何新的信息。在终端中运行sudo apachectl -k start命令,会得到以下结果:

httpd: Could not reliably determine the server's fully qualified domain name, using Ryan-Smiths-MacBook.local for ServerName

我的httpd.conf文件中已经定义了ServerName。

我还注意到"Web共享"不再出现在设置面板中...很奇怪。

有什么想法吗?

谢谢!


OS X Mountain Lion仍然包括Apache,但“Web Sharing”偏好设置已经消失了!(参考Apple支持:OS X Mountain Lion:Web共享选项)。如果您正在运行PHP应用程序,那么最好考虑使用MAMP作为更好的替代品(它包括MySQL,phpMyAdmin和一些相关的程序和库)。 - Stennie
11个回答

17

10
为了解决这个问题并启动MAMP Apache,你现在可以参考以下链接(上面的链接已经失效):https://support.servertastic.com/mamp-not-starting-after-upgrade-to-mountain-lion/。或者只需运行以下命令:
sudo apachectl stop

此外,如果您遇到mysql无法启动的问题,请尝试通过以下方式终止可能已经运行的mysql进程:
  1. 在您的Mac上打开名为“Activity Monitor”的程序。
  2. 搜索名为“mysqld”的进程。
  3. 点击该进程并选择“Quit Process”。
Credits: http://eliteeternity.com/mysql-server-wont-start-mamp-red-light-mac/ http://forum.mamp.info/viewtopic.php?f=6&t=6149

以上的 sude 命令让我成功停止了默认的 Apache 服务器。谢谢。 - elliotrock

2

这个方法可以解决我的MAMP问题

只需使用Finder导航到/Applications/MAMP/bin/apache2/bin,将envvars重命名为_envvars(是的,只需添加下划线)。完成!

来自codesoap


2
在MAMP PRO 2.1.1中,点击 工具 > 退出内置Apache

2
我能够解决这个问题,我运行的是OS X 10.8.4。我打开了“活动监视器”,选择“所有进程”,然后杀死了任何标题中带有“httpd”的进程。之后,我能够启动MAMP,并且MYSQL和Apache服务器都显示为正常。

1

尝试在httpd.conf中修改MAMP,使用以下内容:

LoadModule php5_module /Applications/MAMP/bin/php/php5.5.3/modules/libphp5.so


1
我的解决方案与类似问题有关。即MySQL从MAMP管理工具正常运行,但Apache服务器不行,“打开起始页”是灰色的,即无法工作。
看起来我的问题是,Apache服务器由于某种原因无法访问位于/Applications/MAMP/logs文件夹中的日志文件apache_error.log。该文件似乎被卡住了,即我无法使用chmod命令更改文件的访问权限。只有在我完全删除日志文件后,重新启动MAMP控制实用程序并再次启动MySQL和Apache后,一切正常。
敬礼, Janne

1
OSX Mountain Lion的问题在于/usr/lib/libpq.5.3.dylib不存在,但是/usr/lib/libpq.5.dylib存在。
为了解决这个问题,请打开终端并执行以下操作:
~# sudo ln -s /usr/lib/libpq.5.3.dylib /usr/lib/libpq.5.dylib

你是想这样做吗? 执行命令是sudo ln -s /usr/lib/libpq.5.dylib /usr/lib/libpq.5.3.dylib ...? - Olie

1

我曾经遇到过同样的问题,其他方法都没有帮助。后来我发现我的实例中有一个“允许来自127.0.0.1”的IP地址 - 删除该IP地址后问题得到解决。不知道为什么。

http://cl.ly/image/253g1L1W472z


0

遇到了同样的问题。

然后我将ServerName设置为localhost,将Listen端口设置为8080,因为80端口不可用(即使使用sudo也不行)。在我的情况下,这似乎解决了问题。


端口80不可用,因为内置的Apache正在该端口上运行,请按照我的答案中所述停止它,然后您应该能够再次使用它。 - Richard Askew

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