我尝试使用标题函数更改页面但由于某种原因它不起作用,我回显了ob_start()结果,它显示1.没有太多的代码,但这里是:
<?php
ob_start();
header('Location: http://www.google.com');
?>
它只显示1
还有一件事,这是带有vardump的ob_status输出
array(5) { ["level"]=> int(1) ["type"]=> int(1) ["status"]=> int(0) ["name"]=> string(22) "default output handler" ["del"]=> bool(true) }
建议?
编辑:首先在start_ob()
之前有一个echo调用答案 0 :(得分:3)
您在header()
之前开始输出。它显示1(事实上true
)和header()
函数的抑制效应。从那里删除echo
。
来自php.net:
请记住,在任何实际输出之前必须调用header() 通过普通HTML标记,文件中的空行或PHP发送。
作为旁注:
答案 1 :(得分:1)
您在发送标头之前创建echo
。你不能这样做。发送任何内容后,无法更改标题。
此echo
显示1
,因为on_start()
函数返回布尔值true
或false
。
你说,即使你删除这一行,它仍然无效。你不是在早些时候发送任何内容吗?即使是空间?你是否启用了错误显示?包括通知。