ホームページ >バックエンド開発 >PHPチュートリアル >nginx - tengine+php-fpm,访问index.php正常,访问index.PHP却会吧php文件下载过来。
<code>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; } }</code>
<code>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; } }</code>
你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$
~* 表示不区分大小写.