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环境下如何通过修改配置文件来支持PATH_INFO,这对于使用Nginx作为web服务器并需要PATH_INFO功能的PHP应用至关重要。文章提供了具体的配置代码示例,帮助读者理解和实现这一配置。
956

被折叠的 条评论
为什么被折叠?



