由于nginx对pathinfo的支持不是很友好,所以原本执行正常的thinkphp程序放到运行着nginx的服务器上就瞎火了。
由于nginx只支持fastcgi的方法连接php,所以服务器必须先安装好php-fpm并运行起来。
nginx的配置
location ~ [^/]\.php(/|$) {
root /var/www/html;
#转交给php-fpm程序处理
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_split_path_info的作用是使用正则匹配出pathinfo放在$fastcgi_path_info变量里面
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
fastcgi_params文件的内容列表为
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_L