我有以下结构的nginx.conf:
http {
[ ... ]
server {
[ ... ]
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SERVER_NAME $host;
fastcgi_read_timeout 3000;
include fastcgi_params;
}
}
}
Run Code Online (Sandbox Code Playgroud)
该nginx在Docker内部运行,因此不知道链接到哪个域(托管系统上有nginx反向代理)。但是我有一个问题,当我尝试$_SERVER['SERVER_NAME']从PHP访问时,它是空的...如何将其设置为恒定值?当我尝试:
fastcgi_param SERVER_NAME example.com
Run Code Online (Sandbox Code Playgroud)
它仍然是空的。
请注意,我必须使用SERVER_NAME,因为它在第3部分代码中。
fastcgi_param设置相同参数的多个语句(在同一块级别)将默默使用最后一条语句中的值。这包括通过include指令读取的语句。
始终在fastcgi_param语句后include fastcgi_params;声明语句,以避免配置文件中出现歧义。
| 归档时间: |
|
| 查看次数: |
3060 次 |
| 最近记录: |