nginx出现no input file specified.如何处理

刚刚安装好nginx php mysql环境之后,打开容易出现input file specified.

操作方法

  • 01

    php.ini文件配置 在(/usr/local/php/etc/php.ini)的配置中中找到 cgi.fix_pathinfo=0 将其改成 cgi.fix_pathinfo=1

  • 02

    对应document_root的权限必须与nginx.conf和fcgi.conf的用户一样

  • 03

    使用vim fastcgi.config命令 fastcgi_param    SCRIPT_FILENAME     $document_root$fastcgi_script_name;fastcgi_param    SCRIPT_FILENAME     $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;

  • 04

    nginx配置文件/etc/nginx/conf/nginx.conf中注意以下部分 location ~ .php$ { fastcgi_pass   127.0.0.1:9000; fastcgi_index   index.php; include  fastcgi_params; } 配置完以上部分,重启一下nginx和php-fpm,问题成功 service nginx restart service php-fpm restart

  • 05

    另外,还可能跟 路径或者权限 有关系,或者SCRIPT_FILENAME 变量没有被正确的设置(这在nginx是最常见的原因) 1)如果html也出现404错误,那么就是document root 设置的有问题 2)检查脚本文件的权限, 可能PHP或者web server不能读取它 3)SCRIPT_FILENAME设置错误

  • 06

    排除了SCRIPT_FILENAME设置错误,那问题就出现在目录文件夹及文件的权限访问上。重新设置了文件www用户组的权限,立即可以访问后台了。 chown  -vR www:www /folder

(0)

相关推荐