首頁 >後端開發 >php教程 >nginx配置,为何两个配置一模一样的server,一个能解析php,一个不能解析php呢?

nginx配置,为何两个配置一模一样的server,一个能解析php,一个不能解析php呢?

WBOY
WBOY原創
2016-06-06 20:48:591073瀏覽

解决了,我将执行文件由info.php修改为i.php之后就ok了,我想,可能是浏览器缓存。。。。。

下面有两个sever块,第二个就是复制第一个sever,只是将目录位置由dev修改为test,出现了这样的结果:

  1. 第一个sever全部正常,能够解析html,也能解析php
  2. 第二个sever只能解析html,遇到.php的页面弹出下载窗口

    http {
    include mime.types;
    default_type application/octet-stream;

    <code>sendfile        on;
    tcp_nopush     on;
    
    keepalive_timeout  65;
    tcp_nodelay on;
    
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    
    gzip  on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
    
    server {
        listen       80;
        server_name  dev.com;
        fastcgi_intercept_errors on;
    
        location / {
            index index.html index.htm index.php;
            root  /Library/WebServer/public_html/dev;
        }
    
        location ~ .*\.(php|php5)?$ {
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include /usr/local/etc/nginx/fastcgi_params;
            fastcgi_param  SCRIPT_FILENAME  /Library/WebServer/public_html/dev/$fastcgi_script_name;
        }
    
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
            expires      30d;
        }
    
        location ~ .*\.(js|css)?$ {
            expires      1h;
        }
    
        error_page   400 401 402 403 404  /40x.html;
        location = /40x.html {
            root /Library/WebServer/public_html/dev/;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            #root   html;
            root /Library/WebServer/public_html/dev/;
        }
    }
    
    server {
        listen       80;
        server_name  test.com;
    
        location / {
            index index.html index.htm index.php;
            root  /Library/WebServer/public_html/test;
        }
    
        location ~ .*\.(php|php5)?$ {
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include /usr/local/etc/nginx/fastcgi_params;
            fastcgi_param  SCRIPT_FILENAME  /Library/WebServer/public_html/test/$fastcgi_script_name;
        }
    
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
            expires      30d;
        }
    
        location ~ .*\.(js|css)?$ {
            expires      1h;
        }
    
        error_page   400 401 402 403 404  /40x.html;
        location = /40x.html {
            root /Library/WebServer/public_html/dev/;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            #root   html;
            root /Library/WebServer/public_html/dev/;
        }
    }
    
    
    log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
                        '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" $http_x_forwarded_for';
    
    access_log  /usr/local/var/log/nginx/access.log  access;
    </code>

    }

回复内容:

解决了,我将执行文件由info.php修改为i.php之后就ok了,我想,可能是浏览器缓存。。。。。

下面有两个sever块,第二个就是复制第一个sever,只是将目录位置由dev修改为test,出现了这样的结果:

  1. 第一个sever全部正常,能够解析html,也能解析php
  2. 第二个sever只能解析html,遇到.php的页面弹出下载窗口

    http {
    include mime.types;
    default_type application/octet-stream;

    <code>sendfile        on;
    tcp_nopush     on;
    
    keepalive_timeout  65;
    tcp_nodelay on;
    
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    
    gzip  on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
    
    server {
        listen       80;
        server_name  dev.com;
        fastcgi_intercept_errors on;
    
        location / {
            index index.html index.htm index.php;
            root  /Library/WebServer/public_html/dev;
        }
    
        location ~ .*\.(php|php5)?$ {
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include /usr/local/etc/nginx/fastcgi_params;
            fastcgi_param  SCRIPT_FILENAME  /Library/WebServer/public_html/dev/$fastcgi_script_name;
        }
    
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
            expires      30d;
        }
    
        location ~ .*\.(js|css)?$ {
            expires      1h;
        }
    
        error_page   400 401 402 403 404  /40x.html;
        location = /40x.html {
            root /Library/WebServer/public_html/dev/;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            #root   html;
            root /Library/WebServer/public_html/dev/;
        }
    }
    
    server {
        listen       80;
        server_name  test.com;
    
        location / {
            index index.html index.htm index.php;
            root  /Library/WebServer/public_html/test;
        }
    
        location ~ .*\.(php|php5)?$ {
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include /usr/local/etc/nginx/fastcgi_params;
            fastcgi_param  SCRIPT_FILENAME  /Library/WebServer/public_html/test/$fastcgi_script_name;
        }
    
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
            expires      30d;
        }
    
        location ~ .*\.(js|css)?$ {
            expires      1h;
        }
    
        error_page   400 401 402 403 404  /40x.html;
        location = /40x.html {
            root /Library/WebServer/public_html/dev/;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            #root   html;
            root /Library/WebServer/public_html/dev/;
        }
    }
    
    
    log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
                        '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" $http_x_forwarded_for';
    
    access_log  /usr/local/var/log/nginx/access.log  access;
    </code>

    }

解决了,我将执行文件由info.php修改为i.php之后就ok了,我想,可能是浏览器缓存。。。。。

应该是SCRIPTFILENAME 设置的问题
你看include /usr/local/etc/nginx/fastcgi
params 这个文件里的SCRIPT_FILENAME是什么

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn