Вопрос № 20328: Здравствуйте. У меня такой вопрос. Мне нужно сделать рассылку почты пользователям сайта. В принципе я все сам сделал:
подлючаюсь к базе в цикле получаю пользователя
подставляю его данные в шаблон письма и адрес его email
вызываю функию о...
Вопрос № 20328
Здравствуйте. У меня такой вопрос. Мне нужно сделать рассылку почты пользователям сайта. В принципе я все сам сделал:
подлючаюсь к базе в цикле получаю пользователя
подставляю его данные в шаблон письма и адрес его email
вызываю функию отправки почты mai. Все работае заисключение того что оно работает долго и apache пишет что время исполнения истекло и так он не доконца выполняет скрип и не всем отсылается . Если еспользую просто
php.exe путь.mail.php все отлично работатет и до конца.
Скажите как можно избежать этот момент чтобы долго выполняющийся процесс не мешал работе странички и втоже время вызывался из php .
Приложение:
Отправлен: 28.04.2005, 09:04
Вопрос задал: Алексей ExL (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: Rusland
Здравствуйте, Алексей ExL!
Полагаю что нужно менять таймаут выполнения скрипта в настройках апача - httpd.conf. Если возможности менять настройки нет, то нужно либо реализовать выполнение в несколько этапов - например вести лог уже обработанных email-ов и при следующем запуске скрипта рассылать оставшимся, еще вариант - попробуйте на каждом шаге цикла выводить что-нибудь на экран (или поставить счетчик и выводить, например, на каждом десятом шаге)
Ответ отправил: Rusland (статус: 2-ой класс)
Отправлен: 28.04.2005, 10:15
Отвечает: rusfaq.ru
Здравствуйте, Алексей <b>ExL</b>!
В php.ini увеличь параметр max_execution_time, стандартное значение которого 30 сек.
max_execution_time = 30 ; Maximum execution time of each script, in seconds
Если не критично, отсылай мыло не по одному пользователю, а пачками, указав в поле "кому" или "копия" сразу много адресов.
Ответ отправил: rusfaq.ru (статус: 4-ый класс)
Отправлен: 28.04.2005, 20:16