原理:php
任何对.php文件的请求,都简单地交给php-cgi去处理,但没有验证该php文件是否存在。nginx
PHP文件不存在,没办法返回普通的404错误,它返回 一个404,并带上一句”No input file specified”spa
另外,还可能跟 路径或者 权限有关系,或者SCRIPT_FILENAME 变量没有被正确的设置(这在nginx是最多见的缘由)。rest
解决办法:日志
1 打开文件: usr/local/php/etc/php.ini,修改如下配置code
2 修改文件权限blog
# 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
这时候须要 进入这个目录 执行ip
chattr -i .user.ini
而后 进入到wwwroot目录 , 再执行权限命令,最后别忘了,进入www.test.com 目录,执行ci
chattr +i .user.ini
最后重启
lnmp restart
搞定!
补充:Linux chattr 命令,用于改变文件属性。
这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有如下8种模式:
chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]
用chattr命令防止系统中某个关键文件被修改:
chattr +i /etc/resolv.conf
lsattr /etc/resolv.conf
会显示以下属性
----i-------- /etc/resolv.conf
让某个文件只能往里面追加数据,但不能删除,适用于各类日志文件:
chattr +a /var/log/messages