【LNMP】提示Nginx 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
搞定!
补充:Linux chattr 命令,用于改变文件属性。
这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
- a:让文件或目录仅供附加用途。
- b:不更新文件或目录的最后存取时间。
- c:将文件或目录压缩后存放。
- d:将文件或目录排除在倾倒操作之外。
- i:不得任意更动文件或目录。
- s:保密性删除文件或目录。
- S:即时更新文件或目录。
- u:预防以外删除。
语法
chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]
参数
- -R 递归处理,将指定目录下的所有文件及子目录一并处理。
- -v<版本编号> 设置文件或目录版本。
- -V 显示指令执行过程。
- +<属性> 开启文件或目录的该项属性。
- -<属性> 关闭文件或目录的该项属性。
- =<属性> 指定文件或目录的该项属性。
实例
用chattr命令防止系统中某个关键文件被修改:
chattr +i /etc/resolv.conf lsattr /etc/resolv.conf
会显示如下属性
----i-------- /etc/resolv.conf
让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
chattr +a /var/log/messages
【LNMP】提示Nginx PHP “No input file specified”错误的解决办法的更多相关文章
- Nginx+PHP “No input file specified”错误的解决办法
配置官网商城php网站时候,界面报错“No input file specified” 原理: 任何对.php文件的请求,都简单地交给php-cgi去处理,但没有验证该php文件是否存在. PHP文件 ...
- nginx下No input file specified错误的解决
在web服务的根目录下创建 .htaccess文件,设置一下内容: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond % ...
- 执行shell脚本时提示bad interpreter:No such file or directory的解决办法
执行shell脚本时提示bad interpreter:No such file or directory的解决办法 故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是 ...
- 织梦CMS提示DedeTag Engine Create File False错误的解决办法总结
今天帮客户升级站点,遇到了一个老问题,生成栏目的时候提示"DedeTag Engine Create File False",突然发觉这个问题竟然在以前做站的时候困扰过我多次,于是 ...
- 执行Hive时出现org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.lang.NumberFormatException: For input string: "1s"错误的解决办法(图文详解)
不多说,直接上干货 问题详情 [kfk@bigdata-pro01 apache-hive--bin]$ bin/hive Logging initialized -bin/conf/hive-log ...
- YUM安装东西提示PYCURL ERROR 6 - "Couldn't错误的解决办法
执行yum install命令时提示PYCURL ERROR 6 - "Couldn't resolve host 错误,原来是dns设置出错,具体错误代码: Loaded plugins ...
- vetur插件提示 'v-for' directives require 'v-bind:key' directives.错误的解决办法
在用vscode编写vue代码时,因为安装的有vetur插件,所以当代码中有v-for语法时,会提示 [vue-language-server] 'v-for' directives require ...
- linux执行shell脚本时提示bad interpreter:No such file or directory的解决办法
故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是在windows平台下写的,换行符与Linux不同,造成脚本不能正确执行 出现bad interpreter:No s ...
- Error:/etc/fstab:Read-only file system错误的解决办法
1.挂载60T存储,设置开机自动挂载,UUID编号配置错误导致系统无法启动 2.根据提示进入维护状态,输入root密码,进入fstab删除UUID等内容,结果报错 Error:/etc/fst ...
随机推荐
- Centos 安装 nload
第一种方法: wget http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-r ...
- Ubuntu下U盘变成只读的解决方法
首先执行命令: tail -f /var/log/syslog 然后插入有问题的U盘,tail会打印一些log: Jan :: zkw- kernel: [-: new high-speed USB ...
- python3之编码详解
一,python2与python3的区别 1)python2可以不用括号() python3必须加括号 2)python2中有range()有序列表,xrange()生成器 python3中只有ran ...
- Codeforces 603A - Alternative Thinking - [字符串找规律]
题目链接:http://codeforces.com/problemset/problem/603/A 题意: 给定一个 $01$ 串,我们“交替子序列”为这个串的一个不连续子序列,它满足任意的两个相 ...
- 源码编译安装nginx
安装依赖软件 1.安装编译工具gcc gcc是一个开源编译器集合,用于处理各种各样的语言:C.C++.Java.Ada等,在linux世界中是最通用的编译器,支持大量处理器:x86.AMD64.Pow ...
- windows hook 钩子
windows hook 钩子 场景: 1.打印机 Ctrl+P弹出支付窗口,付款成功后打印
- CHARACTER SET
mysql> show tables; +-----------------+ | Tables_in_w0811 | +-----------------+ | t | | w_engine ...
- Page11:状态反馈、输出反馈的概念及性能比较,极点配置的基本概念、意义及其算法[Linear System Theory]
内容包含离散时间线性时不变系统的稳定判据 状态反馈.输出反馈的基本概念及其性能比较 极点配置的基本概念.意义及其算法
- [skill][funny] 一个很厉害的for循环
int DSSL_MoveServerToMissingKeyList( DSSL_Env* env, DSSL_ServerInfo* si ) { DSSL_ServerInfo** new_se ...
- UTF8 、unicode 和 Ascii2
1.http://blog.renren.com/share/68464/3096404244