临河信息网 发表于 2012-11-21 08:35

求助:nginx访问php返回No input file specified,访问html正常

求助:nginx访问php返回No input file specified,访问html正常

下面是我的一些配置:
nginx:
    userwww www;
    server
      {
                listen       80 default_server;
                server_name xxx.com;
                index index.html index.htm index.php;
                root/home/wwwroot/xxx;
                error_page 404 /404.html;

                location ~ .*\.(php|php5)?$
                        {
                              try_file $uri =404;
                              fastcgi_passunix:/tmp/php-cgi.sock;
                              fastcgi_index index.php;
                              include fcgi.conf;
                        }
         }

fcgi.conf 配置如下:
fastcgi_paramGATEWAY_INTERFACECGI/1.1;
fastcgi_paramSERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_paramQUERY_STRING       $query_string;
fastcgi_paramREQUEST_METHOD   $request_method;
fastcgi_paramCONTENT_TYPE       $content_type;
fastcgi_paramCONTENT_LENGTH   $content_length;

fastcgi_paramSCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_paramSCRIPT_NAME      $fastcgi_script_name;
fastcgi_paramREQUEST_URI      $request_uri;
fastcgi_paramDOCUMENT_URI       $document_uri;
fastcgi_paramDOCUMENT_ROOT      $document_root;
fastcgi_paramSERVER_PROTOCOL    $server_protocol;

fastcgi_paramREMOTE_ADDR      $remote_addr;
fastcgi_paramREMOTE_PORT      $remote_port;
fastcgi_paramSERVER_ADDR      $server_addr;
fastcgi_paramSERVER_PORT      $server_port;
fastcgi_paramSERVER_NAME      $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_paramREDIRECT_STATUS    200;


php配置如下:
cgi.fix_pathinfo=1
doc_root=

fastcgi 已经启动:

www      221360.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221370.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221380.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221390.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221400.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221410.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221420.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221430.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221440.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221450.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221460.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221470.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
www      221480.00.0381002672 ?      S    08:30   0:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf


我的工作目录权限如下:
drwxrwxrwx 44 www www 4096 8月17 00:19 xxx

目录内文件权限如下:
-rwxr-xr-x1 wwwwww      23 8月17 00:16 test.php


访问这个目录下的html,可以正常显示, 访问php返回No input file specified,在nginx 日志中显示404,
125.39.xx.xx - - "GET /test.php HTTP/1.1" 404 56 "-" "Mozilla/5.0 (masking-agent; rv:15.0) Gecko/20100101 Firefox/15.0" -

zongg 发表于 2012-11-21 11:50

什么操作系统
/tmp/php-cgi.sock里写的什么?

临河信息网 发表于 2012-11-21 21:32

回复 2# zongg

你好, 是centos,
/tmp/php-cgi.sock 的文件权限是 srw-rw-rw- 1 root root

请问如何查看 /tmp/php-cgi.sock 的内容呢?

   

临河信息网 发表于 2012-11-21 21:33

回复 2# zongg


uname -a
2.6.32-220.el6.i686 #1 SMP Tue Dec 6 16:15:40 GMT 2011 i686 i686 i386 GNU/Linux


   

临河信息网 发表于 2012-11-21 23:18

回复 4# 临河信息网

问题已解决,
我的php.ini中有个open_basedir=.:/tmp 的选项, 改成 “open_basedir=.:/tmp:/web工作目录” 就搞定了


   

maochanglu 发表于 2012-11-26 10:18

基本上是fastcgi配置有问题。

linux_c_py_php 发表于 2012-11-26 22:56

没配置好fcgi, fcgi在工作目录下找不到URI对应的文件.
页: [1]
查看完整版本: 求助:nginx访问php返回No input file specified,访问html正常