tengine php fpm,tengine+php-fpm,访问index.php正常,访问index.PHP却会吧php文件下载过来。...

本文探讨了如何正确配置Nginx以处理PHP请求,包括调整fastcgi_pass到本地127.0.0.1:9000、使用path_info模式和处理大小写敏感问题。遇到MacOS分区格式影响导致的问题也进行了分享,并提供了解决思路。
摘要由CSDN通过智能技术生成

server {

listen 80;

server_name  localhost;

access_log /data/sites_logs/default.log combined;

root /data/sites/default;

index index.htm index.html index.php;

if ( $query_string ~* ".*[\;'\<\>].*" ){

return 404;

}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {

expires 30d;

}

location ~ .*\.(js|css)?$ {

expires 7d;

}

###########################################隐藏index.php

location / {

index  index.htm index.html index.php;

if (!-e $request_filename) {

rewrite  ^/(.*)$  /index.php/$1  last;

break;

}

}

##########################################pathinfo 模式

#           location ~ .*\.(php|php5)?$ {

#               #fastcgi_pass remote_php_ip:9000;

#               fastcgi_pass unix:/dev/shm/php-cgi.sock;

#               fastcgi_index index.php;

#               include fastcgi.conf;

#           }

location ~ \.php$ {

fastcgi_pass   phpfpm:9000;

fastcgi_index  index.php;

include        fastcgi_params;

#设置PATH_INFO并改写SCRIPT_FILENAME,SCRIPT_NAME服务器环境变量

set $fastcgi_script_name2 $fastcgi_script_name;

if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {

set $fastcgi_script_name2 $1;

set $path_info $2;

}

fastcgi_param   PATH_INFO $path_info;

fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name2;

fastcgi_param   SCRIPT_NAME   $fastcgi_script_name2;

}

}

你php-fpm配置的不符吧 本地应该是 127.0.0.1:9000 你phpfpm:9000 phpfpm是域名还是什么 看看nginx的日志 说什么

被mac os分区格式坑了一把。

mac os分区格式有2种:

1、Mac OS 扩展(区分大小写,日志式)

2、Mac OS 扩展(日志式)

我的主盘分区默认是第二种。通过docker挂在的话,就出现了这样的问题。

如果是服务器环境应该不会有这样的问题。

location ~* \.php$

~* 表示不区分大小写.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值