基础版本
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
这个时候,基本的php文件可以执行。
但是如果使用php项目,会有问题。因为有些路径不是以php结尾的。
升级版本
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
fastcig_index ,如果请求的URI是以 / 结束的, 该指令设置的文件会被附加到URI的后面并保存在变量$fastcig_script_name中。
为了防止,路径中多一个index.php,可以将这个值设置为none。
这样就支持tp等框架了。