代码之家  ›  专栏  ›  技术社区  ›  Olubodun Agbalaya

Nginx+php fpm下载php文件,不执行[duplicate]

  •  0
  • Olubodun Agbalaya  · 技术社区  · 7 年前

    我有 nginx , php5.6-fpm ,在默认端口(9000)上设置。 我已经通过了几个论坛,所以页面和文档可以缓解这个问题,但没有效果。

    这个 index.php 我的web应用程序的文件按应执行,但所有其他 .php 文件被下载了,这似乎与我的重写规则有关,而不是快速进程管理器,但我似乎不明白。 下面是我的网站。形态

    server {
    listen 80 default_server;
    listen   [::]:80 ipv6only=on;
    server_name xx.xx.xx.xx;
    root /var/www/foo.bar.com/html;
    
    
    # index.php
    index index.php index.html;
    
    error_page 404 /404.php;
    
    autoindex off;
    
    location / {
      rewrite ^/(.*)/p/(.*)?$ /product.php?slug=$2 break;
      rewrite ^/?([A-Za-z0-9_-]+)/?$ /vendor.php?vendor=$1 break;
    
      if (!-e $request_filename){
      rewrite ^(.*)$ /$1.php break;
      } 
    
     }
    
     location /cart {
       rewrite ^/cart/?$ /cart.php break;
     }
    
     location /checkout {
       rewrite ^/checkout/?$ /checkout.php break;
     }
    
     location /search/ {
       rewrite ^/search/?$ /search.php break;
       rewrite ^/search/(.*)?$ /search.php?slug=$1 break;
       rewrite ^/search/brand/(.*)?$ /search.php?brandslug=$2 break;
     }
    
     location /brand {
      rewrite ^/brand/(.*)?$ /search.php?brand=$1 break;
     }
    
      location /brands {
       rewrite ^/brands/?$ /productbrands.php break;
      }
    
      location /404 {
        rewrite ^/404/?$ /404.php break;
      }
    
      location /vendors {
       rewrite ^/vendors/?$ /vendors.php break;
     }
       include  /etc/nginx/mime.types;
    
        # handle .php
        location ~* \.php(/|$) {
          try_files      $uri =404;
          include  /etc/nginx/mime.types;
          fastcgi_pass   127.0.0.1:9000;
          fastcgi_index index.php;
          fastcgi_split_path_info ^(.+\.php)(/.*)$;
          include fastcgi_params;
          fastcgi_param  SCRIPT_FILENAME     $request_filename;
          fastcgi_param  HTTPS              off;
          include nginxconfig.io/php_fastcgi.conf;
    
    }
    
      location ~ /\. {
         access_log off;
         log_not_found off; 
         deny all;
      }
      location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
         include  /etc/nginx/mime.types;
         access_log        off;
         log_not_found     off;
         expires           360d;
       }
    
         include nginxconfig.io/general.conf;
     }
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   AS Mackay Kushan Gowda    7 年前

    请加上:

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi.conf;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/run/php/php5.6-fpm.sock;
    }
    
    推荐文章