PHP, вылезает окно о сохранении страницы

Статус: Offline
Реєстрація: 22.03.2008
Повідом.: 38
PHP, вылезает окно о сохранении страницы

Возникла проблема при работе с большими объемами данных в php.
Мой скрипт парсит страницы определенного сайта и нужную информацию заносит в БД. Когда число страниц начинает превышать ~150 скрипт останавливается и вылазит следующее окошко с предложением открыть или сохранить << >>
error.JPG
Кто-нибудь с этим сталкивался?
 
ничего, называеться t00NwdDc.part, размер 0 байт
 
Возможно поможет
Тільки зареєстровані користувачі бачать весь контент у цьому розділі

и желательно такие дела через cli пускать.
 
пробовал выставлять set_time_limit и аналог ini_set('max_execution_time',0) - безрезультатно.
 
Как я понял это у вас mod_php и php отваливается. Попробуйте отрефакторить скрипт. Возможно не хватает памяти. Сколько memory_limit стоит? Какая версия рнр?
 
PHP 5.3.2
memory_limit = 128 и больше ставил, не помогло
 
ob_flush(), flush() и выводи почаще что-нибудь в браузер.
 
попробуй распарсивать сайт порциями и поставь таймаут между запросами, может твой скрипт слишком часто обращается к серверу
 
я сталкивался с вылетами при многократном вызове функций из расширения PCRE. (preg_match, preg_replace, etc)
скорее всего, они что-то нехорошее делают с памятью, после чего php в конеце концов машет ручкой.
попробуй заменить на функции для регулярных выражений из mb_string.
работают они в сто раз медленнее, но зато надежно.

и еще журнал апача посмотри.
 
попробуй распарсивать сайт порциями и поставь таймаут между запросами, может твой скрипт слишком часто обращается к серверу

Попробовал разбить на порции, но помогло только в том случае если каждый раз переваливать страницу с новыми исходными данными.
С таймаутами ситуация повторяется.

я сталкивался с вылетами при многократном вызове функций из расширения PCRE. (preg_match, preg_replace, etc)
скорее всего, они что-то нехорошее делают с памятью, после чего php в конеце концов машет ручкой.
попробуй заменить на функции для регулярных выражений из mb_string.
работают они в сто раз медленнее, но зато надежно.

и еще журнал апача посмотри.

заменил на функцию из мультибайтной кодировки, тоже не помогло ((

Похоже все-таки придется думать над вариантом запуска скрипта по частям
 
127.0.0.1 - - [08/Nov/2010:23:19:21 +0200] "GET /med/ HTTP/1.1" 200 -
выкидывает в конце
 
выкидывает что и в конце чего?
шли скрипт в личку, попробую прокатать у себя.
 
Как появляется диалоговое окно, в лог записывается эта строчка.

Проблему решил поэтапным разбором страниц, всем спасибо за советы.
 
Назад
Зверху Знизу