环境:
LNMP一键安装包;
原理:
任何对.php文件的请求,都简单地交给php-cgi去处理,但没有验证该php文件是否存在。
PHP文件不存在,没办法返回普通的404错误,它返回 一个404,并带上一句”No input file specified”
另外,还可能跟 路径或者 权限有关系,或者SCRIPT_FILENAME 变量没有被正确的设置(这在nginx是最常见的原因)。
解决方法:
1、打开文件: usr/local/php/etc/php.ini,修改以下配置
把“cgi.fix_pathinfo=0 ”改为“ cgi.fix_pathinfo=1”;
把 “cgi.force_redirect=1 ”改为“ cgi.force_redirect=0”;
2、修改文件权限
注意:这步请根据自己的服务器情况来操作,这一步完全可以忽略不操作;
# cd /home/wwwroot
# chown -R www:www ./*
# chmod -R 755 ./*
# lnmp restart
当执行的时候。如果个别项目里边有 .user.ini 文件。会提示
chown: changing ownership of ‘./www.test.com/.user.ini’: Operation not permitted
这时候需要 进入这个目录 执行
chattr -i .user.ini
然后 进入到wwwroot目录 , 再执行权限命令,最后别忘了,进入www.test.com 目录,执行
chattr +i .user.ini
3、重启lnmp
lnmp restart
4、再访问网站已经恢复正常!
补充:Linux chattr 命令,用于改变文件属性。
2017年09月28日 03:04:50 沙发
很不错。