教程 nginx tutorial

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 之间的请求传递与处理,确保动态请求稳定高效。