这是我的文件。我想让它重定向,但没有任何反应。为了检查发生了什么,我在标题部分之前添加了一个回显。
它既不会抛出错误,也不会重定向到index.php。怎么了? 我已打开/关闭输出缓冲,但没有任何东西可以使其重定向。我能做什么?
<?
error_reporting(E_ALL);
echo 'This is an error';
header("Location: login.php");
die();
?>
我提醒自己,我在实际测试环境中安装了 xDebug,在谷歌搜索后,我找到了这个网站:http://bugs.xdebug.org/view.php?id=532
因此,我将下载最新版本的 xDebug 并相应地更改新文件的 php.ini,一切顺利。正在发送标头 - 重定向已完成并显示错误。
谢谢大家的帮助!
您启用了短标签吗? 尝试使用长标签
<?php
:
<?php
error_reporting(E_ALL);
header("Location: login.php");
die();
?>
是否启用了display_errors?
@Gumbo - 确实是!
嗯,确实不是。因为
为了检查发生了什么,我在标题部分之前添加了一个回显。
如果您启用了display_errors,它会显示错误,至少当您
turned output buffering on
时。
因此,首先确保您可以看到错误消息。
只是打印出一个未定义的变量,
error_reporting(E_ALL);
echo $undef9306;
我相信你不会看到它。 所以,你必须打开显示错误
接下来,在服务器端,您可以使用
headers_sent()
函数来查看标头是否已发送。在客户端使用 HTTP 嗅探器查看是否发送了任何内容
并检查您的 BOM 文件。