我们有
nginx/1.9.1
在执行
phpinfo()
时,无法获取以下参数的值。
$_SERVER["REMOTE_PORT"] // no value
$_ENV["REMOTE_PORT"] // no value
虽然我们在 FastCGI 配置文件中有以下设置
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
有人可以指导错误在哪里吗?
您遇到的问题可能是由多种因素造成的。请考虑以下旨在帮助解决问题的步骤:
1。 FastCGI 配置: 验证 FastCGI 配置是否准确包含在您的 Nginx 服务器块中。您的 Nginx 配置中应该有如下一行:
include /etc/nginx/fastcgi_params;
此行包含已在 fastcgi_params 文件中定义的 FastCGI 参数。
2。 PHP-FPM 池配置: 如果您使用 PHP-FPM,请检查您的池配置(www.conf 或类似配置)并确保将clear_env 指令设置为“no”。如果设置为“yes”,这将清除所有环境变量,包括 $_SERVER 变量。
3. Nginx 版本: 您提到的 Nginx 1.9.1 表示旧版本。升级到最新版本可能有助于解决问题。
4。检查其他服务器变量: 检查其他服务器变量,例如 $_SERVER['SERVER_ADDR'],以确定它们是否可访问。这可以帮助确定问题是否特定于 REMOTE_PORT 或者是否影响所有服务器变量。
修改任何配置文件后,请确保重新启动 Nginx 服务器和 PHP-FPM 服务。