一访问php文件就下载那个php 文件了。html文件访问正常。/etc/nginx/ 下的目录
nginx.conf
vhost/test.confvhost下的test.conf 是这样配置的:
server {
    listen 80;    server_name test.putianems.com;
    root /www/putianems;
    access_log /var/log/nginx/$host-access.log;
    error_log  /var/log/nginx/dev-error.log error;  location = /favicon.ico {
        log_not_found off;
        access_log off;
  }
 location ~ \.php {
       include /etc/nginx/fastcgi_params;
       fastcgi_pass  127.0.0.1:9000;
       fastcgi_index index.php;
       #include fastcgi_params;
       #include /etc/nginx/fastcgi_params;
       #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       fastcgi_param SCRIPT_FILENAME /www/putianems$fastcgi_script_name;
       fastcgi_param PATH_INFO $fastcgi_script_name;
       access_log off;
    }  location / {
    index index.php;
    try_files $uri /index.php?$args;
  }
}php-fpm 下没有任何错误log信息。 nginx 下的log就只有:
192.168.0.103 - - [31/Oct/2012:17:38:03 +0800] "-" 400 0 "-" "-"我把 fastcgi_param 那一行改成 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 也是一样的错误。请问是什么原因。

解决方案 »

  1.   

    include /etc/nginx/fastcgi_params;为什么不是
    include fastcgi_params;
      

  2.   

    include fastcgi_params; 也试过了,也不行。
      

  3.   

    你在 ~\.php那一段的最后加上break;试试
      

  4.   

    看看你的进程里面运行有nginx没?
    ps |grep nginx
      

  5.   

    可能nginx支持php的环境不成功的
      

  6.   

    fastcgi_pass  127.0.0.1:9000;改为这个看看:fastcgi_pass  unix:/tmp/php-cgi.sock;另外,你确定把php-fpm打开了??service php-fpm status;看看是什么状态吧!
      

  7.   

    fastcgi_pass这里到底用什么,你得去看看php-fpm.conf里面指定的是啥。是
    listen 127.0.0.1:9000
    还是
    listen unix:/tmp/php-cgi.sock;并且确定php-fpm启动成功了。
      

  8.   

    楼上各位,按照nginx的尿性,如果其他ok而php-fpm没启动的话,是果断返回一只502的