62

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

Apache 似乎没有在 MAMP 文件夹中记录任何错误,因此没有任何错误要报告,我正在努力从哪里开始修复它。我希望这与我安装了另一个导致问题的版本(并删除了它)有关,但我太缺乏经验,不知道我做了什么。

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

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

16 回答 16

152

使用命令行停止 Apache 为我解决了这个问题:

sudo apachectl stop
于 2014-06-18T13:55:41.703 回答
44

对于那些升级到优胜美地的人来说,似乎有一个我不太了解的错误,但它很容易修复,正如他们的 Twitter 帐户上发布的那样。

10.10 Preview 5 错误的解决方法:将位于“/Applications/MAMP/Library/bin”中的文件“envvars”重命名为“_envvars”(@mamp_en)

于 2015-04-27T21:27:34.357 回答
40

我有一个类似的问题,可以通过在命令行启动 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,也许在新版本中处理得更好。

于 2014-08-02T10:40:11.597 回答
7

Change the recommended Apache Port from: port 80 to port 81.

于 2014-02-11T19:38:36.497 回答
6

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

有时 Apache 通过 MAMP 设置打开特定文件夹,而该文件夹不再存在。如果您简单地转到 MAMP 并通过首选项按钮更改该设置,您应该能够修复它。

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

于 2017-03-28T21:22:51.873 回答
5

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

于 2014-07-28T01:15:50.660 回答
5

也许是因为原来的 apache 已经打开了。您是否尝试过查看状态?您可以尝试使用此命令将其停止“apachectl status”,然后重新启动 mamp 并查看它是否有效。

于 2012-12-14T20:33:06.807 回答
3

命令行有助于解决此问题。像下面这样,

/Applications/MAMP/Library/bin/apachectl start

/Applications/MAMP/Library/bin/apachectl stop

于 2015-06-28T16:38:06.513 回答
2

如果它在某一时刻工作正常,那么我猜你网络上的其他东西当前正在使用相同的端口来做其他事情。

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

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

于 2014-02-15T23:06:46.493 回答
2

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

于 2015-02-10T14:14:32.867 回答
2

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

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

现在它可以工作了!

于 2013-03-08T22:59:58.553 回答
2

1) 退出 MAMP

2)使用命令行运行:

$ sudo apachectl restart

3) 打开 MAMP 并启动 Apache

4) Apache 这次应该运气好


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

$ sudo apachectl stop

没有改变。当我使用命令行运行时:

$ sudo apachectl start

我收到了消息

httpd (pid 600) already running

我尝试重新启动,但它起作用了。

于 2017-07-27T14:11:57.467 回答
1

如果您的 htdocs(或等效)文件夹存储在外部存储中,您可能需要在 apache 启动之前连接到它(在 finder 中,或使用 cmd + K)。

于 2014-08-26T12:07:20.393 回答
1

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

于 2012-12-17T10:54:34.200 回答
1

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

于 2015-01-18T16:48:21.167 回答
0

还要确保您没有启动旧版本的 MAMP。这发生在我使用聚光灯查找 MAMP 时。当应用程序升级时,它会在您的应用程序文件夹中保留较旧的副本。

于 2016-02-03T17:01:48.803 回答