Nginx运行PHP出现“No input file specified”解决办法

环境

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、再访问网站已经恢复正常!

 

no input file specified

 

补充:Linux chattr 命令,用于改变文件属性。

付杰
  • ¥ 398.0元
  • 市场价:598.0元
  • ¥ 198.0元
  • 市场价:498.0元
  • ¥ 398.0元
  • 市场价:498.0元
  • ¥ 89.0元
  • 市场价:129.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  0   博主  0

  1. 头像 胖妹 2

    很不错。