PHP фоновый скрипт блокирует соединение для всего браузера

У меня следующая проблема :

PHP-скрипт вызывается через Ajax. Скрипт сам закрывает соединение, используя следующие строки

ignore_user_abort(true);
header("Content-Length: 0");
header("Connection: close");
flush();

, а затем начинает рассылать кучу писем в фоновом режиме с помощью phpMailer (в цикле и с использованием sleep (1) после каждое письмо - в будущем я хочу, чтобы это было случайное количество секунд после 5 отправленных писем). Используя FireBug, я вижу, что соединение со скриптом разрывается напрямую. Письма также отправляются.

Однако , Я не могу открывать никакие страницы, пока скрипт работает в фоновом режиме - они продолжают загружаться, пока явно не завершится фоновый скрипт. Странная вещь: скрипт, похоже, не блокирует весь сервер, поскольку ограничение на подключение применяется только к браузер, который инициировал фоновый скрипт. Итак, после того, как я запустил скрипт, скажем, в FireFox, я все еще могу получить доступ s страницы на сервере в Chrome.

В чем может быть причина? Есть ли ограничение на количество открытых MYSQLi-соединений для каждого браузера (для каждого сеанса, то есть ...) - я ничего не нашел в этом ... Или браузер (хотя FireBug сообщает, что соединение было прервано), тем не менее, ожидает за ответ сценария?

Как я могу решить эту проблему? Заранее благодарим за любую помощь.

0
задан Triad sou. 15 October 2011 в 07:03
поделиться