我正在尝试在 Fedora 20 机器上安装 NGINX 和 PHP-FPM,但出现了“文件未找到/主脚本未知”错误仅有的当启动 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;
}
现在,当我直接从 shell(以 root 身份)启动 php-fpm 时,一切都运行正常,但是当我使用启动 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 正在生成工作进程,并且从 shell 启动和通过 systemd 启动之间应该没有任何区别。)
我没有在 fpm 池配置中使用任何 chroot 或 chdir 设置。
任何帮助都将不胜感激!谢谢 Marcus