我在运行Windows 10 家庭单语言版的机器上使用PHP 7.1.11 。
我在我的机器上使用XAMPP服务器。
我在这台机器上使用以下浏览器:
- Google Chrome(版本 62.0.3202.94(官方构建)(64 位))
- Firefox Quantum(57.0.1(64 位))
- 歌剧(版本:49.0.2725.47)
- 微软边缘 41.16299.15.0
我知道功能的细节header()
以及它是如何工作的。
但是以下程序在上述所有四种网络浏览器上的行为确实很奇怪。即使在将输出发送到客户端之后, header() 函数也在工作。
这怎么可能?
下面是我的代码(它被重定向到我提到的 URL):
<!DOCTYPE html>
<html>
<body>
<p>Welcome to my website!</p><br />
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if($test) {
echo 'Welcome to my website<br />You\'re in!';
} else {
header('Location: http://www.espncricinfo.com');
}
?>
</body>
</html>
我期待收到警告“无法修改标头信息 - 标头已发送”,但令人惊讶的是它正在将我重定向到 URL http://www.espncricinfo.com/
?
为什么?