【问题标题】:Random value while returning $_SERVER['HTTPS']返回 $_SERVER['HTTPS'] 时的随机值
【发布时间】:2021-09-07 23:25:55
【问题描述】:

当我尝试检测是否启用了 HTTPS 时,我有一个奇怪的行为:

$ssl=(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http");
$expected=$ssl.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

echo $ssl.'<br/>';
echo $ssl.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'<br/>';
echo $ssl.'<br/>';
echo $ssl.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'<br/>';

结果:

http
https://<MYDOMAIN>/beta/test.php
http
http<MYDOMAIN>/beta/test.php

为什么,在第二行,它说的是 httpS 而只是在 http 之前和之后?

运行 PHP:7.4.20(启用 OPcache)

谢谢

【问题讨论】:

  • 你能删除所有的连接,只删除echo $ssl; 两次吗?那它还这样做吗?

标签: php ssl https server php-7


【解决方案1】:

尝试重置缓存:

opcache_reset(); // put this line before your code

// code...

导航到文件。 然后删除该行并再次尝试测试。

【讨论】:

  • 不,不工作已经尝试使此文件无效并重置 opcache,还重新启动了 php(运行 php-fpm),始终相同
猜你喜欢
  • 1970-01-01
  • 2019-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多