主题
FastCGI 参数详解
FastCGI 参数是 Nginx 将请求信息传递给 PHP-FPM 或其他 FastCGI 服务的关键配置,通过合理设置可以保证动态请求正确处理。
一、标准 fastcgi_param
Nginx 官方提供了 fastcgi_params 文件,常见参数如下:
| 指令 | 说明 |
|---|---|
SCRIPT_FILENAME | 请求脚本完整路径 |
QUERY_STRING | 请求查询字符串 |
REQUEST_METHOD | HTTP 请求方法 |
CONTENT_TYPE | 请求内容类型 |
CONTENT_LENGTH | 请求内容长度 |
SCRIPT_NAME | 脚本名称 |
REQUEST_URI | 请求 URI |
DOCUMENT_URI | 当前请求文档 URI |
DOCUMENT_ROOT | 请求根目录 |
SERVER_PROTOCOL | HTTP 协议版本 |
GATEWAY_INTERFACE | CGI 版本信息 |
SERVER_SOFTWARE | Nginx 版本信息 |
REMOTE_ADDR | 客户端 IP |
REMOTE_PORT | 客户端端口 |
SERVER_ADDR | 服务器 IP |
SERVER_PORT | 服务器端口 |
SERVER_NAME | 服务器名称 |
二、常用 fastcgi_param 配置示例
nginx
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PHP_VALUE "open_basedir=/var/www/html";
}说明
- SCRIPT_FILENAME:必需,指定 PHP-FPM 执行脚本路径
- fastcgi_param PHP_VALUE:可设置 PHP 配置参数,如
open_basedir、upload_max_filesize等 - 其他参数可通过
include fastcgi_params自动加载,确保 PHP-FPM 正确识别请求信息
三、自定义 FastCGI 参数
可以根据业务需求自定义参数传递给后端应用:
nginx
fastcgi_param CUSTOM_VAR "my_custom_value";PHP 中通过 $_SERVER['CUSTOM_VAR'] 获取该值。
掌握 FastCGI 参数详解,能够精确控制 Nginx 与 PHP-FPM 之间的请求传递与处理,确保动态请求稳定高效。