Сделано в Раскрутке

Архив эхоконференции RU.PHP

- RU.PHP ------------------------------------------------------------- RU.PHP -
 Msg  : #1041 [1443]
 От   : Paul Yanchenko                2:5080/151          26 июня 03, 04:55
 Кому : Rostislav Podgorniy                               26 июня 03, 22:23
 Тема : Re^2: Помогите вылечить
-------------------------------------------------------------------------------
Quoting Rostislav Podgorniy wrote to Ivan Merzlyakov (25 Jun 03 21:29)
Hello,

 IM>> Работаю с ораклом. Запрос довольно хитрый, расчитывает телефоны и
 IM>> суммы, может работать иногда минуты 2 все зависит от количества
 IM>> телефонов у конторы. Где и чем лечить следующую ошибку? В апаче или в
 IM>> php.ini?
 IM>> Fatal error: Maximum execution time of 30 seconds exceeded in c:/my
 IM>> web/rab/result.php on line 77
 RP> либо в php.ini поставь нужное значение в секундах:
 RP> max_execution_time = 120;
 RP> либо в апаче в директиву виртуалхоста добавь
 RP> php_admin_value max_execution_time "120"

Более правильный на мой взгляд вариант использовать set_time_limit(int
seconds), т.к. она будет иметь локальный эффект (для конкретного скрипта, а не 
для всех сразу). Кроме того, эта функция сбрасывает внутренний счетчик времени 
работы скрипта на ноль, так что если к примеру раз в 30 секунд вызывать
set_time_limit(30), то скрипт будет работать вечно.

Однако, это не работает в safe_mode, поэтому нужно проверять этот параметр
через ini_get('safe_mode').

Мне вот в этом не понятно только одно. В документации сказано:

Замечание:  The set_time_limit() function and the configuration directive
max_execution_time only affect the execution time of the script itself. Any
time spent on activity that happens outside the execution of the script such as
system calls using system(), the sleep() function, database queries, etc. is
not included when determining the maximum time that the script has been
running.

Либо я плохо понимаю по-английски, либо одно из двух. Сказано, что запросы в БД
не влияют на счетчик времени работы скрипта. Однако, как мы можем видеть, это
не так - какой-нибудь навороченный запрос может обрубиться по "max execution
time exceeded".

--- Good byte!     homepage:pusher.ru     mailto:pusher(at)pusher(dot)ru
 * Origin: garbage (2:5080/151)


При переходе по баннеру - скидка 25% на первый месяц обслуживания!
Самый простой способ получить ROOT-доступ
При переходе по баннеру - скидка 25% на первый месяц обслуживания!