当前位置:首页 > 生活常识 > 电脑技巧 > nginx提示No input file specified怎么办

nginx提示No input file specified怎么办

时间:2017-03-11 来源:发票查询网
编辑:发票查询 人气:

   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;
       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        $_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的用户一样