Nginx + php-fpm下载PHP文件但不执行
Nginx + php-fpm下载PHP文件但不执行
这个问题在这里已经有答案了:
我在默认端口(9000)上安装了nginx
和php5.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日