OS X: автоматический запуск PHP FCGI через launchd при запуске системы

#php #launchd

#php #launchd

Вопрос:

Итак, я установил PHP5 FCGI из MacPorts вместе с nginx и mysql. Последние два загружаются нормально при запуске системы. Но PHP этого не делает. Я создал файл /opt/local/etc/LaunchDaemons/org.macports.php5/org.macports.php5-cgi.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>org.macports.php5-cgi</string>
  <key>ProgramArguments</key>
  <array>
    <string>/opt/local/bin/php-cgi</string>
    <string>-b127.0.0.1:9000</string>
    <string>-q</string>
  </array>
  <key>EnvironmentVariables</key>
  <dict>
    <key>PHP_FCGI_CHILDREN</key>
    <string>8</string>
    <key>PHP_FCGI_MAX_REQUESTS</key>
    <string>256</string>
  </dict>
  <key>Debug</key><false/>
  <key>Disabled</key><true/>
  <key>KeepAlive</key><true/>
</dict>
</plist>
  

Но он не запускается при загрузке.
Мне нужно выполнить sudo launchctl load -w /opt/... , чтобы запустить его вручную.

Комментарии:

1. Спасибо за этот файл plist! Во многих руководствах показан пробел между «-b» и именем хоста и портом. Мой процесс продолжал умирать со статусом 255, пока я не удалил это пространство.

Ответ №1:

launchd не считывает файлы из /opt/local/etc/LaunchDaemons . Вставьте файл /Library/LaunchDaemons и удалите Disabled ключ.

Комментарии:

1. Спасибо, это именно то, что я пропустил!