求助: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" -
什么操作系统
/tmp/php-cgi.sock里写的什么? 回复 2# zongg
你好, 是centos,
/tmp/php-cgi.sock 的文件权限是 srw-rw-rw- 1 root root
请问如何查看 /tmp/php-cgi.sock 的内容呢?
回复 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
回复 4# 临河信息网
问题已解决,
我的php.ini中有个open_basedir=.:/tmp 的选项, 改成 “open_basedir=.:/tmp:/web工作目录” 就搞定了
基本上是fastcgi配置有问题。 没配置好fcgi, fcgi在工作目录下找不到URI对应的文件.
页:
[1]