有的兄弟用的是http://www.lnmp.org/ 或者http://blog.linuxeye.com/31.html 这样的lnmp/lanmp一键安装包,这些安装包特殊的地方是 fastcgi_pass 不是 127.0.0.1:9000,而是unix:/dev/shm/php-cgi.sock。因此,在设置 nginx 支持 pathinfo 的时候,需写成
[PHP] 纯文本查看 复制代码 location ~ \.php {
#fastcgi_pass 127.0.0.1:9000; // pass 不是这个
fastcgi_pass unix:/dev/shm/php-cgi.sock; // 而是这个
fastcgi_index index.php;
include fastcgi.conf;
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
另外,还要注意php.ini中的cgi.fix_pathinfo=0要注释掉(即在前面加上分号;),然后重启php-fpm和nginx
|