Apache不是在OSX中的MAMP(但是MySQL工作)中启动的

时间:2012-12-13 23:13:56

标签: macos apache mamp

我让MAMP工作了几个月,最近安装了PostgreSQL。它也建议安装Apache,我这样做是为了确保PostgreSQL能够正常工作。然后我卸载了PostgreSQL和apache构建并尝试重新启动MAMP。它启动了MySQL数据库(绿灯)但Apache没有启动。我卸载并重新安装MAMP只是为了面对同样的问题。

Apache似乎没有记录MAMP文件夹中的任何错误,所以没有任何错误报告我正在努力开始修复它。我希望它能解决这个问题,即我安装了另一个版本(并删除了它)导致了这个问题,但是我太缺乏经验而无法知道我做了什么。

如果不在MAMP文件夹中,我可以在哪里找到任何错误?不在:

  • /应用/ MAMP /库/日志
  • /应用程序/ MAMP / bin中/日志

16 个答案:

答案 0 :(得分:144)

确定Apache使用命令行解决了这个问题:

sudo apachectl stop

答案 1 :(得分:44)

对于那些升级到Yosemite的人来说,似乎有一个我不太懂的错误,但很容易修复,因为它们在Twitter帐户上发布了。

  

10.10预览5错误的解决方法:重命名位于' / Applications / MAMP / Library / bin'中的文件“envvars”。进入“_envvars”(@ mamp_en)

答案 2 :(得分:35)

我有一个类似的问题,可以通过在命令行上启动包含在MAMP中的apachectl来解决它:

$ /Applications/MAMP/Library/bin/apachectl start

会产生

Syntax error on line 427 of /Applications/MAMP/conf/apache/httpd.conf:
Invalid command '\xef\xbf\xbc#AllowOverride', perhaps misspelled or defined by a module not included in the server configuration

此错误消息不在其他地方,不在任何日志文件或系统控制台中。 (原来我从文档文件中复制了一行,该文件复制了一些不适合我系统的特殊字符 - 这很容易找到!)

这适用于MAMP 2.0.1,可能在较新版本中处理得更好。

答案 3 :(得分:6)

将推荐的Apache端口从:端口80更改为端口81。

答案 4 :(得分:5)

也许是因为最初的apache已开启。 你有没有试过看到这个状态? 您可以尝试使用此命令将其停止为“apachectl status”,然后重新启动mamp并查看它是否有效。

答案 5 :(得分:5)

我知道这已经过时了,以防其他人遇到这个问题。我的虚拟主机文件(/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf)中有一个错误,导致Apache无法启动。直到我手动尝试从命令行(/Applications/MAMP/bin/startApache.sh)启动MAMP的Apache版本时才看到错误并能够修复它。

答案 6 :(得分:5)

我一直在浏览所有Stackoverflow帖子,但没有运气。最后,我遇到了这个: https://www.speakinginbytes.com/2013/02/mamp-problems/

  

有时Apache通过MAMP设置打开特定文件夹,该文件夹不再存在。如果你简单的去MAMP并改变它   通过首选项按钮进行设置,您应该可以修复它。

这对我有用。希望它会帮助别人!

答案 7 :(得分:3)

在我的情况下,vhost上的错误的ssl证书。要进行测试,只需暂时停用所有ssl vhost中的ssl,然后查看它是否启动。注意:即使未检查ssl vhost。

答案 8 :(得分:2)

我遇到了同样的问题。在对没有描述性错误消息感到非常沮丧之后,我意识到我可以检查应用程序/工具/系统消息下的“所有消息”日志(或者我刚从我翻译的类似路径)这里的语言)。在那里我找到了解释,在我的例子中意味着库链接被破坏(可能是因为卸载了postgres)。我通过重新创建链接来修复此问题。就我而言,这意味着我必须在终端中运行以下命令:

sudo ln -s /usr/lib/libpq.5.3.dylib /usr/lib/libpq.5.dylib

现在它有效!

答案 9 :(得分:2)

如果它在某一点上工作正常,那么我猜你的网络上的其他东西当前正在使用相同的端口进行其他操作。

我也有这个问题:在我的情况下,我已经将默认的MAMP Apache端口从8888更改为80.它工作正常,直到我在网络上的另一台机器上安装了Web服务器并调整了本地机器上的/ etc / hosts包括新服务器。这意味着端口80已经在使用,而MAMP的Apache无法启动。

解决方案是停止我网络上的第二个Web服务器,或者将MAMP恢复为8888.两种方法都运行良好。

答案 10 :(得分:2)

命令行有助于解决此问题。如下所示,

/ Applications / MAMP / Library / bin / apachectl start

/ Applications / MAMP / Library / bin / apachectl stop

答案 11 :(得分:2)

1)退出MAMP

2)使用命令行运行:

$ sudo apachectl restart

3)打开MAMP并启动Apache

4)Apache应该好好开始这次运气

我的情况是,当我使用命令行运行时:

$ sudo apachectl stop
没有改变。当我使用命令行运行时:

$ sudo apachectl start

我收到了消息

httpd (pid 600) already running

我尝试重新启动而且工作正常。

答案 12 :(得分:1)

为了解决这个特殊问题,我重新安装了PostgreSQL和它附带的apache版本,然后我再次安装了MAMP,MAMP工作正常。

答案 13 :(得分:1)

如果你的htdocs(或同等的)文件夹存储在外部存储器上,你可能需要连接它(在finder中,或使用cmd + K)才能启动apache。

答案 14 :(得分:1)

我遇到了这个问题,结果发现一个不是vhosts文件的.txt文件已经以某种方式保存到Apache自动包含的sites-available文件夹中,并且期望每个文件都是vhosts文件。

答案 15 :(得分:0)

另外请确保您没有启动旧版本的MAMP。当使用聚光灯找到MAMP时,这发生在我身上。当应用升级时,它会在应用程序文件夹中保留旧版本。