![nginx + spawn fcgi + php =“未指定输入文件。”](https://linux22.com/image/496685/nginx%20%2B%20spawn%20fcgi%20%2B%20php%20%3D%E2%80%9C%E6%9C%AA%E6%8C%87%E5%AE%9A%E8%BE%93%E5%85%A5%E6%96%87%E4%BB%B6%E3%80%82%E2%80%9D.png)
如果 fastcgi 正在运行,我会得到“未指定输入文件”。如果 fastcgi 没有启动,我会得到“您正在寻找的页面暂时不可用”。这是我的配置文件:
server {
listen 80;
server_name website.org;
root /home/user/public_html;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/user/public_html$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params;
}
error_page 500 502 503 504 /50x.html;
location = /home/user/public_html/50x.html {
root html;
}
}
我读到过更改 php.ini 中的 cgi.fix_pathinfo 和 cgi.force_redirect 的值可能会有帮助,但对我来说没有。
答案1
只是猜测,但是:
php 是否有访问权限 /home
/home/user/
/home/user/....
?
你也可以尝试php-fpm而不是 spawn_fcgi
答案2
请在 fastcgi_params 中包含以下行
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
答案3
我赞同 php-fpm 的建议,“未指定输入文件”错误是众所周知的,并且 php-fpm 对该错误进行了修复。
答案4
我遇到了和你一样的情况。但我用的是 php-fpm。
但我的情况有点不同。我运行服务器没有错误。
几天后,浏览器显示“没有指定输入文件”。
但重启 php-fpm 后一切正常。