FastCGI模式下访问php文件时,出现No input file specified错误

FastCGI模式下访问php文件时,出现No input file specified错误
原因分析:
1、任何对.php文件的请求,都简单地交给php-cgi去处理,但没有验证该php文件是否存在。PHP文件不存在,没办法返回普通的404错误,它返回 一个404,并带上一句”No input file specified”

2、还可能跟 路径或者 权限有关系(上级目录要有读取权限),或者SCRIPT_FILENAME 变量没有被正确的设置(这在nginx是最常见的原因)

1)如果html也出现404错误,那么就是document root 设置的有问题
2)检查脚本文件的权限, 可能PHP或者web server不能读取它
3)SCRIPT_FILENAME设置错误

1. 更改php.ini
首先php.ini的配置中把

;cgi.fix_pathinfo=0 改为

cgi.fix_pathinfo=1
这样php-cgi可正常使用SCRIPT_FILENAME这个变量

重启PHP或PHP-FPM

2. 在nginx/conf/nginx.conf 找到:
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 改为:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

然后重启nginx

相关新闻

联系我们

全国服务热线

400-033-9553

电子邮件:admin@example.com
工作时间:09:00-17:00 周一至周五

在线客服
关注微信
关注微信
分享本页
返回顶部