关于No input file specified详细解决方法
 


易网主机在日常的维护工作中,有个别网站经常出现"No input file specified",下面将详细介绍一些解决方案.

原因分析:
任何对.php教程文件的请求,都简单地交给php-cgi去处理,但没有验证该php文件是否存在.PHP文件不存在,没办法返回普通的404错误,它返回一个404,并带上一句"No input file specified"

另外,还可能跟 路径或者权限 有关系,或者SCRIPT_FILENAME 变量没有被正确的设置(这在nginx是最常见的原因)

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

解决方法:
排除了SCRIPT_FILENAME设置错误,那问题就出现在目录文件夹及文件的权限访问上.重新设置了文件www用户组的权限,立即可以访问后台了

好像是权限问题,在上级目录加了everyone读权限,仅针对上级目录,但非常久,等不及,停掉.换了个目录为e:myphpwww.hx.com,给上级目录everyone读权限,访问,提示:
No input file specified.

搜索一下,1种说是把php.ini中的doc_root ="注释掉,我看了下本身就是注释掉的,不是这个问题.第2种是说应用池的问题.IIS新建了一个应用池,给这个站点用.刷新,网站可以访问了.再试一 下,是不是和上级目录权限有关,把上级目录everyone读权限去掉,再刷新,又提示和上面的错误一样了,确定与此有关了,然后再加上,问题解决.

网友A:
个人的解决办法:
1. 更改php.ini
首先php.ini的配置中把
;cgi.fix_pathinfo=0 改为
cgi.fix_pathinfo=1

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

3. 重启nginx【killall -9 nginx ,./sbin/nginx】

网友B:
解决NGINX PHP "No input file specified"
打开一个页面 然后在游览器下运行 结果显示 :No input file specified.

FastCGI模式下访问php文件时,出现No input file specified.错误
查看access.log 发现是 404

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

另外,还可能跟 路径或者 权限有关系,或者SCRIPT_FILENAME 变量没有被正确的设置(这在nginx是最常见的原因)

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

可以使用
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
必须保证 $document_root 在配置文件中,在astcgi_param SCRIPT_FILENAME前面被用到过一次, 后面有解释为什么.

或者
修改/etc/php5/cgi/php.ini中cgi.fix_pathinfo=1
这样也可让php-cgi正常使用SCRIPT_FILENAME这个变量.




也许下面的会对您有所帮助:

易网主机关于虚拟主机访问显示HTTP500错误?
http://www.34514.cn/style/info/shownews.asp?id=441

使用云主机后获取真实IP相关实例?
http://www.34514.cn/style/info/shownews.asp?id=426

关于ASP.NET程序报错汇总?
http://www.34514.cn/style/info/shownews.asp?id=376