1. Home
  2. Техническое
  3. PHP
  4. Ограничение времени PHP (max_execution_time, set_time_limit())

Ограничение времени PHP (max_execution_time, set_time_limit())

По умолчанию ограничение времени PHP (max_execution_time) составляет 30 секунд. Это ограничение времени PHP-скрипта, то есть сколько секунд скрипт может использовать 100% процессорного времени.

При необходимости можно установить ограничение по времени для PHP-скрипта с помощью функции set_time_limit() или с помощью файла конфигурации PHP php.ini или .user.ini.

PHP-скрипт с функцией set_time_limit()

Добавьте в начало файла или в место, вызывающее проблему, функцию set_time_limit() с нужным количеством секунд:

set_time_limit(60);

С помощью глобального файла php.ini или файла .user.ini для конкретного каталога

max_execution_time = 60

Если использовать файл .ini для увеличения времени ожидания, это изменение глобального php.ini повлияет на все вирхосты в главном и поддоменах.
Файл .user.ini влияет на скрипты, расположенные в том же каталоге и его подкаталогах.

NB!

Необходимо соблюдать осторожность при увеличении ограничения по времени с помощью файла .ini, чтобы это не имело негативного эффекта, если другая часть приложения работает медленно или работает дольше 30 секунд, что может привести к превышению ограничения процесса PHP с большое количество посетителей.

Если PHP-скрипт требует больше процессорного времени, чем разрешено, появится сообщение об ошибке, подобное следующему:

PHP Fatal error:  Maximum execution time of 30 seconds exceeded in /data01/virt1234/domeenid/www.example.com/htdocs/index.php on line 5
PHP-документация

Только время, затраченное на обработку PHP-скрипта, влияет на таймаут PHP. Время, затраченное вне этого процесса (запросы к базе данных, запросы к системе/серверу), не учитывается.
Сюда же относится функция sleep(), которая не учитывается при определении лимита времени.

Более подробную информацию можно найти в документации по PHP:
set_time_limit
max_execution_time

Руководство по изменению конфигурационного файла PHPs

Kак самостоятельно изменить файл php.ini

Updated on 7. Nov 2024
Was this article helpful?

Related Articles