【发布时间】:2018-11-14 23:15:15
【问题描述】:
如果您已经发送了一些输出,我认为您无法在 php 中使用 header('location:.. 进行重定向。然而,这个测试程序在本地服务器上的运行与(未)预期的一样。
$ cat > index.php
Hello,
<?php
if ($_SERVER['REQUEST_URI'] !== "/") {
header('location: /');
die();
}
?>
World!
然后我像这样启动php本地服务器
$ php -S localhost:8000
然后当我转到 http://localhost:8000/index.php?test=1 时,它会将我重定向到 http://localhost:8000。
为什么不抱怨我已经发送了输出? php 7有什么不同吗?现代浏览器有什么不同吗?演示服务器有什么不同吗?还是我需要做一些稍微不同的事情才能得到我上次使用 php 时遇到的错误?
【问题讨论】: