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

Обойти max_execution_time

Тема в разделе "Web Coding", создана пользователем mixamixa, 16 июл 2007.

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

    mixamixa Постоялец

    Регистр.:
    9 янв 2007
    Сообщения:
    61
    Симпатии:
    13
    Все пытаюсь найти способо, чтобы php скрипт работал бесконечно долго...Может кто нибудь подскажет, как это эффективнее организовать..(ну через cron или еще как..)
     
  2. valeravl

    valeravl Постоялец

    Регистр.:
    14 июн 2007
    Сообщения:
    121
    Симпатии:
    23
    Можно так обойти
    ini_set("max_execution_time", ТУТ_ВРЕМЯ_НА_КОТОРОЕ_ЗАПУСКАТЬ) по поводу этой опции читать тут Перейти по ссылке
     
    mixamixa нравится это.
  3. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    set_time_limit(0);
     
    mixamixa нравится это.
  4. Dogmat

    Dogmat Постоялец

    Регистр.:
    16 фев 2007
    Сообщения:
    122
    Симпатии:
    38
    Я использую

    ini_set("max_execution_time",0);

    тут есть 2 варианта.
    либо ты вызываешь скрипт через браузер, т.е. соединение не разрывается, и продолжает жить до тех пор пока идет какая то инфа от сервера. (использование flush() для немедленной отправки данных)
    Но соединение все равно может застопиться по различным причинам( плохой инет, особенности браузера...) и тогда твой скрипт остановиться.

    я же обычно вызываю через http скрипт, который запускает системным вызовом system("php_path src_file opts")
    в котором совместно используется
    ini_set("max_execution_time",0);
    и
    ignore_user_abort(1);

    т.е. скрипт начинает жить сам по себе.
    но скрипт и в этом случае может застопиться. либо сам вывалиться, либо его пхп вывалит например с ошибкой memory limit , либо сервак может убить (зависит от настроек сервака), но в любом случае и скрипт выполняется шустрее, да и понадежнее этот вариант =)

    *если что то непонятно - разъясню подробнее =)
     
    mixamixa нравится это.
  5. -Nou-

    -Nou- Постоялец

    Регистр.:
    29 апр 2007
    Сообщения:
    134
    Симпатии:
    12
    Если нет прав изменить max_execution_time, то есть стоит на сервере safe_mode, то раздели работу скрипта на подзадания, так чтобы каждое выполнялось не более 30 сек. Задания запиши в базу или текстовый файл. И выполняй их через аякс в порядке очереди.
     
    mixamixa нравится это.
Статус темы:
Закрыта.