Я хочу запустить php-скрипт, который будет рассылать кучу писем (информационных бюллетеней ), но, поскольку это может занять некоторое время, я хочу, чтобы пользователь быть немедленным перенаправлены на страницу с сообщением типа «Ваши информационные бюллетени поставлены в очередь на отправку».
Пока перенаправления заголовков работают, но они не вызывают перенаправления до тех пор, пока не будут отправлены все электронные письма. Могу ли я закрыть соединение после отправки перенаправления, чтобы браузер немедленно отреагировал на перенаправление? Я пробовал подобные вещи
ob_start();
ignore_user_abort(true);
header( "refresh:1;url=waitforit.php?msg=Newsletters queued up, will send soon.");
header("Connection: close");
header("Content-Length: ". mb_strlen($resp));
echo $resp;
//@ob_end_clean();
ob_end_flush();
flush();
в различных перестановках и комбинациях, но безрезультатно. Я подозреваю, что это невозможно сделать так просто, но прежде чем я начну возиться с заданиями cron или пользовательскими демонами, я подумал, что стоит изучить этот подход. Спасибо
например как болван предлагает ниже, но не повезло
ob_start();
ignore_user_abort(true);
header( "refresh:1;url=mailing_done.php?msg=Newsletters queued for sending.");
header("Connection: close");
header("Content-Length: 0" );
//echo $resp;
ob_end_flush();
flush();