|
|
易网主机在日常的维护工作中,有个别网站经常出现"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
|
|