Как увеличить максимальное время выполнения в Laravel?
Я хочу загрузить большой файл Excel. Но поскольку файл содержит много строк, загрузка идет очень медленно, и я получил эту ошибку:
FatalErrorException в строке Controller.php 457: превышено максимальное время выполнения 120 секунд
Я уже положил это на мой.htaccess:
<IfModule mod_php5.c>
php_value max_execution_time 1500
php_value upload_max_filesize 15M
</IfModule>
Я также добавляю это в верхней части контроллера:
ini_set('memory_limit', '3000M');
ini_set('max_execution_time', '0');
Я также изменяю max_execution_time на php.ini:
max_execution_time = 300
А также добавьте это в config.inc.php:
$cfg['ExecTimeLimit'] = 0;
Я удивляюсь, почему это вообще не работает и продолжает приводить меня к этой ошибке... Есть ли промах в коде? Любая помощь будет признательна, спасибо!
2 ответа
Чтобы временно установить лимит, вы можете просто сделать это в коде
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
или
set_time_limit(300);
Чтобы изменить навсегда, измените следующие значения в php.ini
max_execution_time = 360 ; Maximum execution time of each script, in seconds (I CHANGED THIS VALUE)
max_input_time = 120 ; Maximum amount of time each script may spend parsing request data
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB by default)
Редактировать php.ini:
путьphp.ini: /etc/php5(your php version)/apache2/php.ini
max_execution_time = 360 ; Maximum execution time of each script, in seconds (I CHANGED THIS VALUE)
max_input_time = 120 ; Maximum amount of time each script may spend parsing request data
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB by default)
Я надеюсь, что это может помочь вам.
Попробуйте добавить это в свой контроллер перед запросом
set_time_limit(300);