Nginx+;php fpm正在下载php文件,但未执行
我在默认端口(9000)上设置了Nginx+;php fpm正在下载php文件,但未执行,php,nginx,Php,Nginx,我在默认端口(9000)上设置了nginx,php5.6-fpm。 而且我已经通过了几个论坛,所以页面和文档可以缓解这个问题,但没有效果 我的web应用程序的index.php文件执行正常,但所有其他.php文件都被下载了,这似乎与我的重写规则有关,而不是与快速进程管理器有关,但我似乎无法理解。 下面是我的site.conf server { listen 80 default_server; listen [::]:80 ipv6only=on; server_name xx.xx.xx.
nginx
,php5.6-fpm
。
而且我已经通过了几个论坛,所以页面和文档可以缓解这个问题,但没有效果
我的web应用程序的index.php
文件执行正常,但所有其他.php
文件都被下载了,这似乎与我的重写规则有关,而不是与快速进程管理器有关,但我似乎无法理解。
下面是我的site.conf
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;
}
请加上:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass unix:/run/php/php5.6-fpm.sock;
}
请加上:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass unix:/run/php/php5.6-fpm.sock;
}
对我不起作用,仍然只执行索引页,下载任何其他链接的PHP页。我已经在链接的问题页上编写了我的解决方案,我的解决方案是重写规则问题,显然这也会导致nginx下载文件,而不是将其发送到fcgi@Bhupendra DudhwalDid,对我不起作用,仍然只执行索引页面,任何其他链接的PHP页面都会被下载。我已经在链接的问题页面上编写了我的解决方案,我的解决方案是重写规则问题,显然这也会导致nginx下载文件,而不是将其发送到fcgi@Bhupendra Dudhwal