nginx提示No input file specified怎么办

大哥们在线求帮请问一下,nginx提示No input file specified怎么办
最新回答
时光里

2024-07-27 11:40:10

(一)IIS Noinput file specified
方法一:改PHP.ini中的doc_root行,打开
ini文件
注释掉此行,然后重启IIS

方法二:
请修改php.ini
找到
; cgi.force_redirect = 1
去掉前面分号,把后面的1改为0

cgi.force_redirect = 0

(二)apacheNo input file specified
apache No input filespecified,今天是我们配置apache RewriteRule时出现这种问题,解决办法很简单如下
打开.htaccess 在RewriteRule 后面的index.php教程后面添加一个“?”
完整代码如下
.htaccess
RewriteEngine on
RewriteCond $1 !^(index.php|images|
robots.txt
)
RewriteRule ^(.*)$ /index.php?/$1 [L]
如果是apache服务器出问题,看看是不是的Apache 把 .php 后缀的文件解析哪里有问题了。

总结
Apache 将哪些后缀作为 PHP 解析。例如,让 Apache 把 .php 后缀的文件解析为PHP。可以将任何后缀的文件解析为 PHP,只要在以下语句中加入并用空格分开。这里以添加一个 .phtml 来示例。
AddType application/x-httpd-php .php .phtml
为了将 .phps教程作为 PHP 的
源文件
进行语法高亮显示,还可以加上:
AddType application/x-httpd-php-source .phps
用通常的过程启动 Apache(必须完全停止 Apache 再重新启动,而不是用 HUP 或者USR1 信号使 Apache 重新加载)。

(三)nginx配置遭遇No inputfile specified
虚拟机
测试nginx 遭遇 Noinput file specified,多方查找终于找到解决办法

1、 php.ini(/etc/php5/cgi/php.ini)的配置中这两项
cgi.fix_pathinfo=1 (这个是自己添加的)
doc_root=

2、nginx
配置文件
/etc/nginx/sites-available/default中注意以下部分

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
include fastcgi_params;
}

红色部分路径需要根据你主机主目录的实际情况填写
配置完以上部分,重启一下service nginx restart,应该没问题了

(四)注意检查下网站目录是否有相关用户的写入权限
菠萝草莓酱

2024-07-27 07:50:55

  1、 php.ini(/usr/local/php/etc/php.ini)的配置中中找到
  cgi.fix_pathinfo=0

  将其改成

  cgi.fix_pathinfo=1

  2、nginx配置文件/etc/nginx/conf/nginx.conf中注意以下部分

代码如下

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/blog$fastcgi_script_name;
include fastcgi_params;
}
  路径需要根据你主机主目录的实际情况填写

  配置完以上部分,重启一下nginx和php-fpm,问题成功

  另外,还可能跟 路径或者权限 有关系,或者SCRIPT_FILENAME 变量没有被正确的设置(这在nginx是最常见的原因)

  1)如果html也出现404错误,那么就是document root 设置的有问题

  2)检查脚本文件的权限, 可能PHP或者web server不能读取它

  3)SCRIPT_FILENAME设置错误

  解决方法:

  排除了SCRIPT_FILENAME设置错误,那问题就出现在目录文件夹及文件的权限访问上。重新设置了文件www用户组的权限,立即可以访问后台了。在这里再次特别感谢 久酷 童鞋。

  设置权限的SSH命令则是

代码如下

chown -vR www:www /folder
  补充:我的SCRIPT_FILENAME设置参数

  vim fcgi.conf (SCRIPT_FILENAME的目录)

代码如下

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
  对应document_root的权限必须与nginx.conf和fcgi.conf的用户一样