Macos Apache不是在MAMP中启动的(而是在OSX中运行的MySQL)

Macos Apache不是在MAMP中启动的(而是在OSX中运行的MySQL),macos,apache,mamp,Macos,Apache,Mamp,我让MAMP工作了几个月,最近安装了PostgreSQL。它还建议安装Apache,我这样做是为了确保PostgreSQL正常工作。然后我卸载了PostgreSQL和apache构建,并尝试重新启动MAMP。它启动了MySQL数据库(绿灯),但Apache没有启动。我卸载并重新安装了MAMP,却遇到了同样的问题 Apache似乎没有在MAMP文件夹中记录任何错误,因此没有任何错误报告,我正在努力从哪里开始修复它。我希望这与我安装了另一个版本(并删除了它)这一事实有关,这导致了这个问题,但我太没经

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

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

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

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

    • 可能是因为原来的apache正在运行。 您是否尝试查看状态?
      您可以尝试使用此命令“apachectl status”停止它,然后重新启动mamp,看看它是否工作。

      为了解决这个问题,我重新安装了PostgreSQL及其附带的apache版本,然后再次安装了mamp,mamp工作正常。

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

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

      现在它工作了

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

      如果它在某一点上工作正常,那么我猜您网络上的其他部分当前正在使用相同的端口来执行其他操作

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


      解决方案是停止网络上的第二台web服务器,或者将MAMP恢复到8888。这两种方法都很有效。

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

      sudo apachectl stop
      

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

      我遇到了类似的问题,可以通过在命令行上启动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的,在较新版本中可能处理得更好。

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

      我遇到了这个问题,结果发现一个不是vhosts文件的.txt文件不知何故被保存到了我的
      站点可用的文件夹中,apache自动包含了该文件夹,并希望每个文件都是vhosts文件。

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

      对于升级到约塞米蒂的用户,似乎存在一个我不太理解的bug,但很容易在他们的twitter帐户上修复

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


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

      /应用程序/MAMP/Library/bin/apachectl启动


      /Applications/MAMP/Library/bin/apachectl stop

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

      我已经浏览了所有Stackoverflow帖子,但运气不好。最后,我发现:

      有时Apache通过MAMP设置为打开特定文件夹,但该文件夹已不存在。如果你只是简单的去MAMP并改变它 通过“首选项”按钮进行设置,您应该能够修复它。

      这对我来说是个好办法。希望它能帮助别人

      1)退出MAMP

      2) 使用命令行运行:

      $ sudo apachectl restart
      
      $ sudo apachectl stop
      
      $ sudo apachectl start
      
      3) 打开MAMP并启动Apache

      4) 阿帕奇这次应该开始了,运气好的话


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

      $ sudo apachectl restart
      
      $ sudo apachectl stop
      
      $ sudo apachectl start
      
      没有什么变化。当我使用命令行运行时:

      $ sudo apachectl restart
      
      $ sudo apachectl stop
      
      $ sudo apachectl start
      
      我收到了留言

      httpd (pid 600) already running
      

      我尝试重新启动,但它成功了。

      您是如何发现的?尝试和错误-我得到了一些信息,一些端口被阻止,因此我尝试取消阻止它们/System/Library/LaunchDaemons/org.apache.httpd.plist:找不到指定的服务kspr-这也是我得到的。但是,我在El Capitan。但是-如果我直接在MAMP中启动Apache时使用以下命令:“/Applications/MAMP/Library/bin/apachectl start”,它就可以工作了。太奇怪了,在塞拉10.12.3中表现完美@Cage-如果您得到“未找到命令”,则可能包括$。实际的终端命令只是sudo apachectl stop。$jus