Назад | Перейти на главную страницу

Ошибки PHP-FPM только при запуске в качестве системной службы в Fedora 20. (Файл не найден / Основной сценарий не найден)

Я пытаюсь настроить NGINX с PHP-FPM в системе Fedora 20 и получаю сообщение об ошибке «Файл не найден / Основной сценарий неизвестен» только при запуске php-fpm как системной службы.

Я использую настройку по умолчанию в NGINX с включенным файлом fastcgi.conf по умолчанию.
(С помощью: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;)

Вот соответствующий nginx.conf:

root   /var/www/index;
index  index.html index.php index.htm;

location ~ \.php$ {
          try_files      $uri = 404; 
          fastcgi_pass   unix:/var/run/php5-fpm.sock;
          fastcgi_index  index.php;
          include        fastcgi.conf;
}   

Теперь, когда я запускаю php-fpm непосредственно из оболочки (как root), все работает абсолютно нормально, однако, когда я запускаю php-fpm, используя systemctl start php-fpm.service Я получаю сообщение об ошибке «Файл не найден / Первичный сценарий неизвестен».

Вот определение php-fpm.service:

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=notify
PIDFile=/run/php-fpm/php-fpm.pid
EnvironmentFile=/etc/sysconfig/php-fpm
ExecStart=/usr/sbin/php-fpm --nodaemonize
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Кто-нибудь знает, почему php-fpm может вести себя по-другому при запуске через systemd? (Я очень запутался, особенно потому, что php-fpm порождает рабочие процессы, и не должно быть никакой разницы между запуском из оболочки и запуском через systemd.)

Я не использую настройки chroot или chdir в конфигурации пула fpm.

Любая помощь будет принята с благодарностью! Спасибо Маркус