nginx + spawn fcgi + php =“未指定输入文件。”

nginx + spawn fcgi + php =“未指定输入文件。”

如果 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 后一切正常。

相关内容