Установить максимальное время выполнения в MYSQL / PHP
У меня есть XML-документ, который имеет около 48 000 детей (~50 МБ). Я запускаю запрос INSERT MYSQL, который делает новые записи для каждого из этих детей. Проблема в том, что это занимает много времени из-за его размера. После его выполнения я получаю это
Fatal error: Maximum execution time of 60 seconds exceeded in /path/test.php on line 18
Как установить максимальное время выполнения неограниченным?
спасибо
4 ответов
вы можете сделать это, установив set_time_limit в php-коде (установлено значение 0 без ограничений)
set_time_limit(0);
или изменение значения max_execution_time непосредственно в вашем php.ini
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 120
или изменение его с помощью ini_set ()
ini_set('max_execution_time', 120); //120 seconds
но обратите внимание, что для этого 3-го варианта:
max_execution_time
вы не можете изменить этот параметр с помощью ini_set() при работе в safe режим. Единственный обходной путь - отключить safe режим или изменить ограничение по времени в php.ini.
источник www.php.net
вы можете использовать ini_set в начале вашего приложения.
ini_set('max_execution_time', *number of seconds here*); //300 seconds = 5 minutes
вы можете установить максимальное время выполнения в MYSQL / PHP. это так просто.
чтобы установить максимальное время выполнения в одном файле PHP, поместите этот код сразу после первого открытия тега php.
ini_set(‘max_execution_time’, 0)
установить максимальное время выполнения в PHP.ini-файл. Вы можете установить согласно вашему требуют.
max_execution_time=360 //360 seconds = 6 minutes
чтобы установить максимальное время выполнения в файле htaccess.
php_value max_execution_time 0
вы можете читать шаг за шагом здесь.