1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

вопрос про время выполнения скрипта?

Тема в разделе "Web Coding", создана пользователем boctorg, 15 янв 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. boctorg

    boctorg Прохожие

    как можно увеличить время выполнения скрипта через крон?

    ответ правит php.ini не подходит,тк нет кнему доступа на серваке


    ведь как то делают это чаты?
     
  2. Thoth666

    Thoth666 Прохожие

    .htaccess
    php_value "max_execution_time" "100000"

    сервер должен поддерживать .htaccess
     
  3. Karlasan

    Karlasan Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    78
    Симпатии:
    157
    set_time_limit (0) - снимает ограничение на время выполнения скрипта. наличие хтакцеса не требуется
    ini_set("max_execution_time",0); - аналогично
     
  4. medvoodoo

    medvoodoo Постоялец

    Регистр.:
    28 мар 2007
    Сообщения:
    89
    Симпатии:
    19
    что за хостинг?
    Thoth666,Karlasan было бы хорошо если бы на всех хостингах прокатывало. сейчас делаю искуственное прерывание затянувшихся или процессов с большой нагрузкой.
    Через крон увеличивается время выполнения скрипта засчет того,что он выполняется шэлом, замечу опять-таки не везде.
    P.S какие чаты вы имеете в виду? все нормальные которые я видел использовали ajax :)
     
  5. mentanos

    mentanos Постоялец

    Регистр.:
    27 дек 2007
    Сообщения:
    128
    Симпатии:
    35
    видмо, он имел в виду чат бородина, ядро которого написано на tcl и запускается не на всех хостингах ;)

    но php на сервере не обязан быть модулем


    boctorg, если полный облом с другими способами, возможно тебе сойдет такой способ:

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

    (в качестве реального примера: только что глянул в php.ini работающего сервера (ini_set, set_time_limit отключены, локальные php.ini не воспринимаются, php - cgi = изменить max_execution_time тут нельзя) - max_execution_time=30 секунд. т.е. на этом сервере с помощью крона можно эмулировать сервис, с аптаймом 50% хех. если max_execution_time>=60 или же работает seT_time_limit, то можно кроном эмулировать сервис практически с аптаймом самого сервера)
     
  6. Tretiy

    Tretiy Постоялец

    Заблокирован
    Регистр.:
    10 дек 2007
    Сообщения:
    81
    Симпатии:
    9
    Я не понимаю зачем так морочть голову? Разве в наше время с хостингом такие проблемы? Разве я не прав?
    Или на хостинге насильно держат?
     
  7. spyx

    spyx Писатель

    Регистр.:
    14 янв 2008
    Сообщения:
    3
    Симпатии:
    0
    Могу сказать что как-то задался вопросом найти виртуальный хостинг в котором можно было бы поставить set_time_limit(0). Оказалось что из десятка рассмотреных такового не оказалось, единственным самым дешевым вариантом который я смог найти это ВИРТУАЛЬНЫЙ ВЫДЕЛЕННЫЙ СЕРВЕР (VPS) от masterhost на котором можно настраивать самому php.ini. Цена от 1000руб.
     
  8. Karlasan

    Karlasan Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    78
    Симпатии:
    157
    spyx, у меня сайт на мастерхосте есть, пускаю с него PHP RapidGet (rapidgetpro.ru - страничка разработчика скрипта) - бывает по 2-3 часа качает файл и не останавливается. Так что или ini_set, или set_time_limit там работают (их использует скрипт для продления времени работы). Какая именно функция (а может и обе) - лениво искать, но факт работы налицо.
    Далее, тот же мастерхост позволяет на виртуальном хостинге установить свой пхп-интерпретатор, собранный как cgi-приложение. А там уже сам задашь ограничения какие надо.
     
Статус темы:
Закрыта.