nginx中No input file specified的解决方法
时间:2014-07-05 13:23 来源:linux.it.net.cn 作者:IT网
问题描述:CentOS + PHP + FastCGI + Nginx,配置完后,能够正常打开根目录下的index.php,但是进入abc.com/phpmyadmin,则会提示“No input file specified”。查log,貌似报的是301。
原因分析:
任何对.php文件的请求,都简单地交给php-cgi去处理,但没有验证该php文件是否存在。PHP文件不存在,没办法返回普通的404错误,它返回 一个404,并带上一句”No input file specified”。
看上去有道理,于是检查了fastcgi_param这里。现在SCRIPT_FILENAME的设置如下:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
网上的文章里说到:
可以使用fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
但必须保证 $document_root 在配置文件中,在astcgi_param SCRIPT_FILENAME前面被用到过一次, 后面有解释为什么。
不敢保证$document_root 在配置文件中,所以还是认真地修改回这样:
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default/wordpress$fastcgi_script_name;
没成想,问题成功解决。
(责任编辑:IT)
问题描述:CentOS + PHP + FastCGI + Nginx,配置完后,能够正常打开根目录下的index.php,但是进入abc.com/phpmyadmin,则会提示“No input file specified”。查log,貌似报的是301。
原因分析:
看上去有道理,于是检查了fastcgi_param这里。现在SCRIPT_FILENAME的设置如下:
网上的文章里说到:
不敢保证$document_root 在配置文件中,所以还是认真地修改回这样: (责任编辑:IT) |