我正在尝试使用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
我不知道从哪里拿到这里。
78
的含义。 发现它在一个非保留的退出代码范围内。 /var/log/com.apple.launchd.peruser.503
的内容。 最奇怪的是,这个.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>