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