php常量$_SERVER[‘HTTP_HOST‘]获取的只有ip没有端口号

发布时间:2026/7/8 11:33:43
php常量$_SERVER[‘HTTP_HOST‘]获取的只有ip没有端口号 场景在php获取网站地址时使用$_SERVER[‘HTTP_HOST’]仅仅获取到了ip没有获取到端口导致请求异常使用nginx将请求转发给php原因nginx在转发的将请求弄丢了,对比两台服务器配置一台配置了fastcgi_param HTTP_HOST $host;获取不到端口一台没配置能获取到服务器一获取的是ip端口服务器二获取的只有ip解决方案一将fastcgi_param HTTP_HOST $host;删掉即可获取到不用重启nginx方案二将fastcgi_param HTTP_HOST $host;替换为fastcgi_param HTTP_HOST $http_host;扩展在 Nginx 中内置变量 $host 是不包含端口号的它只包含小写的客户端请求域名或 IP这行配置明确地告诉 Nginx“不管客户端请求带没带端口传给后端 PHP $_SERVER[‘HTTP_HOST’] 的时候全部把端口切掉只留 IP”。因此PHP 拿到的永远只是 ip