使用 LaunchDaemon 启动 MAMP 在 Mavericks 中不起作用

使用 LaunchDaemon 启动 MAMP 在 Mavericks 中不起作用

我按照此页面上的说明进行操作:http://blog.dannykey.com/automatically-launch-mamp-on-start-up/尝试让 MAMP 在系统启动时启动,而无需用户登录。在更新到 Mavericks 之前,我曾经顺利地做到过这一点,但那是很久以前的事了,我不记得我是否做了什么不同的事情。

我的问题是启动守护程序没有启动 MAMP。

我首先运行 launchctl list 来查看 launchd 是否至少读取了我的 plist:

sudo launchctl list | grep mamp

有时它会返回:

74  -   info.mamp.start.mysql
-   0   info.mamp.start.apache

意思是 mysql 启动了,但是 apache 没有启动。其他时候,它会毫无规律地返回:

-   3   info.mamp.start.mysql
-   0   info.mamp.start.apache

这似乎意味着 mysql 已启动但以错误代码退出。

如果我运行:

sudo launchctl start info.mamp.start.apache
sudo launchctl start info.mamp.start.mysql

两个服务器都启动并运行良好。所以看来我的 plist 不是罪魁祸首。这是我使用的 apache plist(我从上面的链接复制/粘贴,mysql plist 也是如此):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>info.mamp.start.apache</string>
    <key>ProgramArguments</key>
    <array>
      <string>/Applications/MAMP/Library/bin/apachectl</string>
      <string>start</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>

调试该问题的下一步是什么?

答案1

该 plist 似乎不再起作用。这个对我有用:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>info.mamp.start.apache</string>
    <key>ProgramArguments</key>
    <array>
      <string>/Applications/MAMP/Library/bin/apachectl</string>
      <string>-f</string>
      <string>/Library/Application Support/appsolute/MAMP PRO/conf/httpd.conf</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>

相关内容