Nginx + php-fpm下载PHP文件但不执行

8 浏览
0 Comments

Nginx + php-fpm下载PHP文件但不执行

这个问题在这里已经有答案了:

Nginx会把.php文件作为下载而不是执行它们

我在默认端口(9000)上安装了nginxphp5.6-fpm

我查看了几个论坛、SO页面和文档,以减轻这个问题,但都没有什么效果。

我的Web应用程序的index.php文件执行正常,但所有其他的.php文件都会被下载。似乎这与我的重写规则有关,而不是Fast Process Manager per-say,但我似乎无法理解。

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;
 }

admin 更改状态以发布 2023年5月21日
0
0 Comments

请添加以下内容:\n\n

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

0