За последние 24 часа нас посетили 18913 программистов и 1636 роботов. Сейчас ищут 872 программиста ...

Как обойти ограничение времени процесса

Тема в разделе "PHP для новичков", создана пользователем Jon, 29 июл 2008.

  1. Jon

    Jon Активный пользователь

    С нами с:
    24 сен 2007
    Сообщения:
    11
    Симпатии:
    0
    Здравствуйте,

    столкнулся с такой проблемой: на хостинге стоит ограничение 60 сек для процесса
    скрипту ПХП надо больше, скрипт работает так:

    считывается хтмл код страницы с другого сервера -> обрабатывается код,
    считывается хтмл код следующей страницы с другого сервера2 -> обрабатывается код,
    и т.д.

    на каждую страницу уходит около 20 сек, причем почти все это время уходит на загрузку страницы, на обработку 1 сек.

    Что получается:
    сервер обрабатывает 2-3 страницы и говорит время превышено и выдает ошибку.

    Что делать?
    думал может отправлять get запросы другому скрипту и будет создаваться новы процесс, то есть

    считывается хтмл код страницы с другого сервера ->отсылается get запрос другому скрипту(2)-> код обрабатывает скрипт (2)

    но незнаю как отослать запрос от одного скрипта другому.
    то есть идея в том что новым запросом генерируется новый процесс, или я ошибаюсь и чего-то непонимаю?

    Может есть другое кокое-то решение?

    Прошу помочь мне,

    Заранее спасибо.
     
  2. shreck

    shreck Активный пользователь

    С нами с:
    7 авг 2007
    Сообщения:
    479
    Симпатии:
    0
    Адрес:
    Россия, Саратов
    Вариант 1: ты воруешь контент.
    Решение 1: тут тебе не помогут

    Вариант 2: оба сайта принадлежат тебе
    Решение 2: set_time_limit
     
  3. Jon

    Jon Активный пользователь

    С нами с:
    24 сен 2007
    Сообщения:
    11
    Симпатии:
    0
    1
    Нет я не ворую контент,
    Это что-то типа мониторинга позиций сайта.

    2
    set_time_limit() не действует, если PHP запущен в режиме safe mode.


    Единственное что мне приходит на ум это

    <img src='myscript.php?word=slovo&param=4' border='0' width='1' height='1'>
     
  4. Jon

    Jon Активный пользователь

    С нами с:
    24 сен 2007
    Сообщения:
    11
    Симпатии:
    0
    При таком подходе инициируется новый процесс или нет ? независимый от основного скрипта ?
     
  5. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    я обхожу подобные проблемы с использованием редиректа на этот же скрипт.
     
  6. Jon

    Jon Активный пользователь

    С нами с:
    24 сен 2007
    Сообщения:
    11
    Симпатии:
    0

    то есть при редиректе инициируется время заново ?
    так получается ?
     
  7. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    Jon

    ну да, мой скрипт добавляет в базу порцию данных и редиректится на себя, увеличивая параметр step.
     
  8. Jon

    Jon Активный пользователь

    С нами с:
    24 сен 2007
    Сообщения:
    11
    Симпатии:
    0
    то есть это далается так:

    Код (Text):
    1. // тут выполняемый код
    2.  
    3. // тут делается все что надо
    4.  
    5. // тут выполняемый код кончается
    6.  
    7. if (надо выполнить еще разок)
    8.   {
    9.   header('Location: ../bla-bla/этот_же_самый_script.php');
    10.   }
    11. else
    12.   {
    13.      echo "Спасибо за помощь,  DarkElf";
    14.   }
    я правильно понял ?
     
  9. Jon

    Jon Активный пользователь

    С нами с:
    24 сен 2007
    Сообщения:
    11
    Симпатии:
    0
    Есть еще варианты ?
     
  10. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    зачем тебе ещё?
     
  11. NOmeR1

    NOmeR1 Активный пользователь

    С нами с:
    11 май 2008
    Сообщения:
    97
    Симпатии:
    0
    У меня было дело, когда вместо set_time_limit работало
    Код (Text):
    1. ini_set("max_execution_time", 0)