Nginx报 No input file specified. 的问题解决之路 转

https://m.aliyun.com/yunqi/articles/34240

今天接手公司的一个项目,照例将项目clone下来,配置本地host,nginx,然后访问。

怎么回事?迅速在php的入口文件index.php最上面var_dump(1111),再次刷新,页面仍旧是上面的状态。

没有打印出1111说明并没有执行php文件,然后翻nginx虚拟主机的配置,检查之后确认入口文件的路径和重写规则正确。这是怎么回事呢??

抓包看http请求和响应,发现nginx返回的是404的状态,但是我明明访问的是/index.php文件啊,怎么还报404呢,这引起了我的好奇心。

然后我又在index.php的同目录下创建了一个a.php文件,并将nginx的重写规则去掉,重启后直接访问这个a.php文件,然而还是上面的页面。

出现这个情况,说明是nginx在转发cgi的时候并没有走到php的文件,那这个时候需要百度了来看看有没有人遇到这个情况了。

一搜,果然

然后我就开始按照搜到的方法一个一个的试,结果意料之中的没有解决问题。(这里必须吐槽一下百度出来的结果,很大的一部分都是一样的,也就是说文章其实只有一篇,然后被A站转走,B站又把A站的转走,C站又转走B站……,搜索质量不堪入目。而且最令人发指的是后续转载的网站几乎都把文章归属于自己发表,真恶心……)

网络靠不住,那自己就得接着一点点排查了。

分析一下问题所在:nginx接受了请求但是没有反代到php,但是访问其他的虚拟主机却是可以的,说明问题出在这个项目上。那就需要慢慢缩小问题的范围一点点定位问题。

首先创建test文件夹,并在此创建a.php文件,用 /test/a.php访问,结果正常访问。

为什么这里可以但是在根目录下就不行?这么奇怪??

然后在根目录下丢一个a.jpg图片,访问/a.jpg,正常访问。

我擦,这是什么鬼?

然后我就打开根,一个文件一个文件的检查,终于!我发现了问题的所在!!

LOOK!!!

晕菜,居然是这个文件在搞鬼,将文件中的内容全部注释掉,访问正常!

但是这个文件是干什么的呢,http://php.net/manual/zh/configuration.file.per-user.php

哭啊,搞半天居然是这个东东~~~。看来还是经验不足,留此博文,记录一下并希望可以帮助到同样出现这个问题的童鞋。

时间: 2024-12-19 11:32:50

Nginx报 No input file specified. 的问题解决之路 转的相关文章

Nginx报 No input file specified

可能是项目根目录下有隐藏文件导致无法访问 在项目根目录放个a.jpg 能正常访问 相关解决问题连接: https://yq.aliyun.com/articles/34240 原文地址:https://www.cnblogs.com/zjj1990/p/8269924.html

nginx php No input file specified 如何处理?

配置nginx支持php 出现了No input file specified ? 只要修改下安装目录下的  nginx.conf下的 location ~ \.php$ { root           html; fastcgi_pass   127.0.0.1:9000; fastcgi_index  index.php; fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name; include        fastcgi

【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=

tp伪静态设置,报No input file specified错误

分类: Apache PHP 在你的Apache安装文件夹conf里找到httpd.conf文件 搜索LoadModule rewrite_module modules/mod_rewrite.so 如果前面有注释符号#,请去掉.搜索Options FollowSymLinks,然后将它下面的AllowOverride None 修改为AllowOverride All: [1] 没想到遇见了 No input file specified 因为项目用了URL route ,估摸着可能是rewr

解决 php 报错 open_basedir restriction in effect或者nginx提示No input file specified怎么办

问题是出现在了PHP.INI上面了 ,原因是php.ini里设置了 open_basedir=/var/web/w0895/:/tmp:/usr/lib/php 这里加上相关的目录就可以了

nginx提示No input file specified怎么办

用了网上提供的各种方法都不行,即便html能正常打开,php文件依然有问题.而后继续尝试了修改权限 chown -vR www:www /folder 功能都正常. nginx.conf 的 user www www; 不建议修改成root 即便用root也不一定能解决一些问题. 具体原因,能力有限,不知.

nginx下No input file specified错误的解决

在web服务的根目录下创建 .htaccess文件,设置一下内容: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.php?s=$1 [QSA,PT,L] 此时刷新即可正常访问! 原文地址:https://www.cnblogs.com/zqunor/p/9114217.html

No input file specified. nginx服务器报错解决

配置虚拟域名的时候报No input file specified. 仔细观察一圈也没有发现任何错误,最终,我把注意力放到 \ 上.才发现问题. 以前我都是直接copy文件路径过去 文件里面 都是使用的 \  例如 这样 D:\phpStudy\WWW\think\public 在这之前这样使用没有任何问题. 但是标准的规范 应该是这样D:/phpStudy/WWW/think/public 使用 '/' 这样问题就解决了. 服务器访问时502 Server dropped connection

nginx no input file specified

今天在lnmp上调试php项目,之前已经在上面测试过tp5框架,可以正常访问.但是新项目由于项目中有些路径是写固定路径的.为了不去修改代码.配置新项目的时候,为新项目设置新的目录.问题就出现了,网页提示  no input file specified.nginx 的error_log 中显示Operation not permitted in Unknown on line 0  Unable to open primary script: 反复检查nginx中的server配置,确认root