PHP set_time_limit () не работает, safemode выключен

Я пытаюсь отключить ограничение времени в PHP-скрипте

set_time_limit(0); 

Но это не работает; сценарий по-прежнему прерван после того, как система по умолчанию 30 секунд. Параметр max_execution_time – как показано phpinfo() после set_time_limit(0) – по-прежнему показывает 30 секунд как для phpinfo() так и для локального значения. Он также показывает, что безопасный режим выключен.

Вы не знаете, что пошло не так? Это PHP 5.3.3 (cli), работающий на CentOS 6.2 с Apache 2.2.15.

Теперь я смог решить проблему. Причина была

 php_admin_value max_execution_time "30" 

… в конфигурации виртуального хоста . Если он установлен, ограничение по времени не может быть переопределено скриптом PHP. И решение состоит в том, чтобы установить его либо в php.ini вместо Apache config, что позволяет переопределить …

 max_execution_time = 30 

или для определения исключений для определенных каталогов в конфигурации apache, например

 <Directory /path/to/my/scripts> php_admin_value max_execution_time "600" </Directory> 

Я также пытался определить исключения для отдельных файлов с помощью директивы <Files>, но это не сработало.