Я предотвращаю тайм-аут с помощью сброса. Я пробовал другие способы, но настройки балансировщика нагрузки заблокированы для меня.
Мой скрипт полностью обрабатывает огромное количество записей.
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 () после сброса чего-либо, потому что заголовок уже отправлен (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">';
Других решений пока нет …