分享解决No input file specified问题的方法

阿铭linux 发表于 2018-02-09 08:41:27 收藏 已收藏
赞(0) •  评论(0

分享解决No input file specified问题的方法

阿铭linux 发表于 2018-02-09 08:41:27

No input file specified

这个提示大家第一想到的是404,

Nginx如果找不到访问的目标文件就会提示该信息。

但今天我要说的问题并不是简单的404问题,如果是文件路径不对,这个很容易解决。怪异的是,只有访问php的时候才会出现该提示,而且是偶尔出现,大多时候访问正常。

环境是使用一键安装包安装的LNMP,网站为Discuz。

访问静态的图片并不会出现该问题,那问题矛头指向php。

我们以往的解决问题思路是,当遇到问题需要查看日志,正确的、错误的都要看。所以,在此看了nginx的错误日志,看了php-fpm的错误日志,并且把日志级别调整为debug,可惜的是没有发现问题。

这条路走不通,那就用另外一种方法,到google搜,搜了很多文章,有的说是文件权限不对,有的说是open_basedir有限制,这两种情况可以排除。

继续搜,找到一篇更改cgi.fix_pathinfo参数的。

这个倒是有可能,所以不妨试试看,方法是编辑php.ini,找到cgi.fix_pathinfo,把该参数设定为1。注意,修改完该参数后,需要重启php-fpm服务。

改完后,测试很久并未再出现No input file specified的提示,不知道是重启php-fpm后情况好转,还就是因为调整该参数的原因。

总之,这两种情况我都怀疑,只好继续观察一下,看看时间久了会不会继续出现。

对于cgi.fix_pathinfo参数,要想搞清楚它的作用,需要理解php中的pathinfo是什么(请大家自行搜索),不过设置cgi.fix_pathinfo为1的话,有个Nginx的安全隐患,但经测试新版本Nginx并没出现问题。

总结

解决No input file specified问题的方法是,

修改php.ini中的cgi.fix_pathinfo参数的值为1。

分享解决No input file specified问题的方法

收藏

相关话题
文章来源专栏
+关注

评论(0)

加载更多评论

参与评论

相关文章

分享到

QQ空间 QQ好友 微博
取消