Nginx+PHP “No input file specified”错误的解决办法

配置官网商城php网站时候,界面报错“No input file specified”

原理:

         任何对.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 

 最后重启

lnmp restart

搞定!

posted @ 2018-05-09 17:49  jimmy_xuli  阅读(1104)  评论(0编辑  收藏  举报