PHP 标头位置重定向不起作用 - 为什么?

2022-08-30 17:01:53

这是我的文件。我想让它重定向,但没有任何反应。为了了解发生了什么,我在标题部分之前添加了一个回声。

它既不会引发错误,也不会重定向到索引.php。怎么了?我已经打开/关闭了输出缓冲,但没有任何东西使它重定向。我该怎么办?

<?
error_reporting(E_ALL);
echo 'This is an error';

header("Location: login.php");
die();
?>

谢谢


答案 1

来自 PHP 文档

header()必须在发送任何实际输出之前调用,无论是通过普通的 HTML 标记、文件中的空行还是从 PHP。

在你的情况下,你正在使用之前echoheader()


答案 2

我提醒自己,我已经在实际的测试环境中安装了xDebug,在谷歌搜索之后,我发现了这个网站:http://bugs.xdebug.org/view.php?id=532

因此,我将下载xDebug的最后一个版本并相应地更改php.ini新文件,一切都像魅力一样工作。正在发送标头 - 重新恢复已完成并显示错误。

谢谢大家的帮助!


推荐