1. 程式人生 > >【解決】nginx 下$_SERVER['PATH_INFO'] 無法獲取到內容

【解決】nginx 下$_SERVER['PATH_INFO'] 無法獲取到內容

end 支持 解決方案 doc 加載文件 color read inf oca

Apache是模塊加載文件的,默認支持$_SERVER[‘PATH_INFO‘] ;

而對於Nginx下, 是不支持PATH INFO的, 也就是它不會默認設置PATH_INFO.

而因為Nginx默認的配置文件對PHP的支持只是很基礎的, 所以對於默認配置來說對於上面的訪問也會是404, 提示找不到文件出錯.

對這個問題的解決方案便是修改Nginx的配置文件,模擬PATH_INFO:

location ~ \.php(.*)$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:
/var/run/php/php5.6-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $1; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers
4 16k; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; }

【解決】nginx 下$_SERVER['PATH_INFO'] 無法獲取到內容