在OSX中,Apache不是从MAMP(但是MySQL工作)开始的

我有MAMP工作了几个月,最近安装了PostgreSQL。 它build议安装Apache,我也确保PostgreSQL的工作。 然后,我卸载PostgreSQL和Apache的构build,并试图重新启动MAMP。 它激发了MySQL数据库(绿灯),但Apache并没有启动。 我卸载并重新安装了MAMP只是为了面对同样的问题。

Apache似乎没有logging在MAMP文件夹中的任何错误,所以没有任何错误报告,我正努力从哪里开始修复它。 我希望这样做的事实,我安装了另一个版本(并删除了)造成的问题,但我太缺乏经验知道我做了什么。

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

  • /应用/甲基苯丙胺/库/日志
  • /应用程序/ MAMP /斌/日志

通过使用命令行来覆盖Apache,为我解决了这个问题:

$ sudo apachectl stop 

对于那些升级到优胜美地的人来说,似乎有一个我不太了解的错误,但是在他们的twitter帐户上发布的错误很容易解决。

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

我有一个类似的问题,可以通过在命令行上启动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 

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

这是MAMP 2.0.1,也许在新版本中处理得更好。

也许是因为原来的apache是​​开启的。 你有没有试过看看状态? 你可以试试这个命令来停止它“apachectl status”,然后重新启动mamp,看它是否工作。

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

我知道这是旧的,但万一别人遇到这种情况。 我的虚拟主机文件(/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf)中有一个错误,导致Apache无法启动。 直到我手动尝试从命令行启动MAMP的Apache版本( /Applications/MAMP/bin/startApache.sh ),我看到了错误,并能够解决它。

在我的情况是在虚拟主机上的一个错误的SSL证书。 为了testing,只需暂时停用所有您的ssl虚拟主机的ssl,看看它是否启动。 注意:即使ssl虚拟主机没有被选中。

我有同样的问题。 在经历了很多关于没有描述性错误信息的挫折之后,我意识到我可以在应用程序/工具/系统消息 (或者一些类似的path,就像我刚从我的语言中翻译的那样)下面检查“所有消息”日志。 在那里我find了解释,在我的情况下意味着一个库链接被打破(可能是由于postgres的卸载)。 我通过重新创build链接来解决这个问题。 在我的情况下,这意味着我不得不在terminal中运行以下命令:

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

现在它的作品!

如果它一直在正常工作,那么我猜你的networking上还有其他东西正在使用相同的端口。

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

解决办法是停止我的networking上的第二个Web服务器,或恢复MAMP回到8888.两种方法都工作正常。

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

/ Applications / MAMP / Library / bin / apachectl start

/ Applications / MAMP / Library / bin / apachectl stop

1)退出MAMP

2)使用命令行运行:

 $ sudo apachectl restart 

3)打开MAMP并启动Apache

4)阿帕奇应该开始这个时候运气好


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

 $ sudo apachectl stop 

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

 $ sudo apachectl start 

我收到了这个消息

 httpd (pid 600) already running 

我试着重新启动,而它的工作。

为了解决这个问题,我重新安装了PostgreSQL和随之发布的apache版本,然后我再次安装了MAMP,MAMP工作的很好。

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

我有这个问题,事实certificate,不是一个虚拟主机文件的.txt文件以某种方式被保存到我的sites-available Apache自动包括sites-available文件夹,并期望每个文件都是虚拟主机文件。

我一直在经历所有的Stackoverflow的post,但没有运气。 最后,我碰到这个: https : //www.speakinginbytes.com/2013/02/mamp-problems/

有时Apache通过MAMP设置打开一个特定的文件夹,该文件夹不再存在。 如果你简单地去MAMP并通过首选项button来改变设置,你应该能够修复它。

这对我来说是诀窍。 希望它会帮助别人!

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