[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Слишком большое время выполнения
freeKODE
Вылетает:
Fatal error: Maximum execution time of 30 seconds exceeded

Вот сам сцрипт
echo "<title>Фрикинг</title>";

for ($n=105; $n < 150; $n++) {
$article = "http://www.xakep.ru/magazine/xa/" . $n . "/";

$ch = curl_init (); // инициализация
curl_setopt ($ch , CURLOPT_URL , "http://www.xakep.ru/magazine/xa/" . $n ."/default.asp");
curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0"); // каким браузером будем прикидываться
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // вывод страницы в переменную
$content = curl_exec($ch); // скачиваем страницу
curl_close($ch); // закрываем соединение

preg_match_all("/center><h2>(.*[№].*)<\/h2><\/center>/isU", $content, $NumberMagazine, PREG_PATTERN_ORDER); //номер журнала
preg_match_all("/<strong>ФРИКИНГ<\/strong>([\S\s]*)<strong>.*<\/strong>/isU", $content, $SourceLinks, PREG_PATTERN_ORDER);
preg_match_all("/<a href=\"(.*)\">(.*)<\/a>/isU", $SourceLinks[1][0], $LinksArticle, PREG_PATTERN_ORDER);

echo "<p>", $NumberMagazine[1][0];

for ($i = 0; $i < count($LinksArticle[1]); $i++) {
echo "<p><a href=\"", $article . $LinksArticle[1][$i], "\" target=\"_blank\" >", $LinksArticle[2][$i], "</a>";
flush();
sleep(2);
}
echo "<hr>";
}


Проблема не то что загружен сильно процессор, а в ширине интернет-канала, то есть просто не успевает скачать все за заданное время. Как это обойти, не изменяя php.ini



Спустя 12 минут, 26 секунд (18.07.2011 - 22:26) Winston написал(а):
Вот так отключается лимит на выполнение скрипта
Вверху файла пропиши.
Цитата
    set_time_limit(0);

Спустя 2 минуты, 11 секунд (18.07.2011 - 22:28) alex12060 написал(а):
sleep(2);


У тебя 45 этераций :)
45 * 2 = 80 секунд.

Ну а так, тебе PHPprogrammer подсказал :)

Спустя 2 минуты, 22 секунды (18.07.2011 - 22:30) freeKODE написал(а):
Цитата (alex12060 @ 18.07.2011 - 19:28)
sleep(2);


У тебя 45 этераций :)
45 * 2 = 80 секунд.

Ну а так, тебе PHPprogrammer подсказал :)

так если слип не писать меня посчитаю как DoS-бота :)

А так вроде решено (конечно доолго он выполняется...)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.