launchctl不会加载这个LaunchAgent的php-fpm

我正在尝试使用launchctl启动php-fpm

直接从命令行运行是没有问题的:

 $ /usr/sbin/php-fpm -p /Users/dmitry -e 

这里是/Users/dmitry/Library/LaunchAgents/dminkovsky.php-fpm.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>dminkovsky.php-fpm</string> <key>ProgramArguments</key> <array> <string>/usr/sbin/php-fpm</string> <string>-p</string> <string>/Users/dmitry/var</string> <string>-e</string> </array> <key>EnableGlobbing</key> <true/> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> </dict> </plist> 

出于某种原因,该过程不会从此.plist开始。 没有logging,所以我不知道为什么。 在/var/log/system.log ,我有:

 Nov 18 08:38:30 airosol com.apple.launchd.peruser.503[285] (dminkovsky.php-fpm[19833]): Exited with code: 78 Nov 18 08:38:30 airosol com.apple.launchd.peruser.503[285] (dminkovsky.php-fpm): Throttling respawn: Will start in 10 seconds 

我不知道从哪里拿到这里。

  • search退出代码78的含义。 发现它在一个非保留的退出代码范围内。
  • 我不知道如何处理/var/log/com.apple.launchd.peruser.503的内容。
  • 试图从https://stackoverflow.com/questions/8677493/php-fpm-doesnt-write-to-error-log得到一些更多的日志logging,但没有奏效。

最奇怪的是,这个.plist在升级到小牛之前曾经工作过。

谢谢!

php-fpm的错误代码78似乎对应于EX_CONFIG(请参阅此处的消息之一),指示某种configuration错误。 这可能是错误是阻止php-fpm使用任何configuration的设置,包括日志logging设置。 您可以通过从php-fpm进程中捕获stdin和stdout来获取更多信息,方法是在.plist中添加如下内容:

 <key>StandardOutPath</key> <string>/var/log/php-fhm-out.log</string> <key> StandardErrorPath</key> <string>/var/log/php-fhm-err.log</string>