$_SERVER['REMOTE_PORT'] 没有给出值

问题描述 投票:0回答:1

我们有

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;

有人可以指导错误在哪里吗?

php nginx port fastcgi
1个回答
0
投票

您遇到的问题可能是由多种因素造成的。请考虑以下旨在帮助解决问题的步骤:

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 服务。

© www.soinside.com 2019 - 2024. All rights reserved.