为什么 $_SERVER 没有显示启用了 SSL,当我通过 https 访问网站时


print_r($_SERVER);

这就是它所显示的

[SERVER_PORT] => 80

为什么当我通过HTTPS协议访问站点URL时,SERVER_PORT可能等于80?

您需要完全配置 Apache 服务器,以使端口以更一致的方式反映端口。根据 PHP 文档:

注意:在 Apache 2 下,您必须设置 UseCanonicalName = On 以及 UseCanonicalPhysicalPort = On 才能获取物理(真实(端口,否则,此值可能会被欺骗,并且可能会也可能不会返回物理端口值。在依赖于安全的上下文中依赖此值是不安全的。

http://php.net/manual/en/reserved.variables.server.php

最新更新