使用flush防止超时,但在刷新后页面不重定向

时间:2015-02-21 01:25:48

标签: php timeout flush

我使用flush防止超时。我尝试了其他方法,但负载均衡器设置对我锁定。

我的脚本完全处理了大量记录。

if (mysqli_num_rows($stream) > 0) {

while($row = mysqli_fetch_assoc($stream)) {
 //updating user's ticket information 
     $unique = $row[ticketid];
     $result = $pk->updateticket($unique, $data);

//flushing to keep connection alive
flush();
ob_flush();
}
 } 

 header('Location: tickets.php');  //the redirect isn't executed - page becomes blank. Records are processed though.

但是,我在处理后重定向用户。此标头位置未执行,页面只是空白。

1 个答案:

答案 0 :(得分:1)

在刷新任何内容后你不能使用header(),因为标题已经发送(http://php.net/manual/en/function.header.php

您可以使用

echo '<script type="text/javascript">
location.replace("tickets.php");
</script>';

甚至

echo '<META http-equiv="refresh" content="1;URL=tickets.php">';