使用刷新防止超时但刷新后页面不重定向
Prevent timeout using flush but page not redirecting after 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.
但是,我在处理后重定向了用户。此 header 位置未执行,页面变为空白。
您不能在刷新任何内容后使用 header(),因为 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">';
我正在使用刷新防止超时。我尝试了其他方法,但负载均衡器设置对我来说是锁定的。
我的脚本完全处理大量记录。
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.
但是,我在处理后重定向了用户。此 header 位置未执行,页面变为空白。
您不能在刷新任何内容后使用 header(),因为 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">';