我按照此页面上的说明进行操作: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>