У меня есть документ XML, который содержит около 48 000 детей (~ 50 МБ). Я запускаю запрос INSERT MYSQL, который создает новые записи для каждого из этих детей. Проблема в том, что это занимает много времени из-за его размера. После его выполнения я получаю это
Fatal error: Maximum execution time of 60 seconds exceeded in /path/test.php on line 18
Как установить максимальное время выполнения без ограничений?
благодаря
Вы можете сделать это, установив 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
но обратите внимание, что для этого третьего варианта:
max_execution_time
Вы не можете изменить этот параметр с помощью ini_set () при работе в безопасном режиме. Единственным обходным решением является отключить безопасный режим или изменить временные ограничения в php.ini.
Источник http://www.php.net
Поместите это в начало вашего скрипта:
ini_set('max_execution_time', 300);
Это составит 5 минут.
Вы можете использовать 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
Здесь вы также можете прочитать шаг за шагом .