如何在laravel中增加最大执行时间?

时间:2018-12-18 03:11:45

标签: php laravel laravel-5 maatwebsite-excel laravel-excel

我要上传大型Excel文件。但是因为文件包含很多行,所以加载速度太慢,我得到了这个错误:

  

Controller.php第457行中的FatalErrorException:超过了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');

我还通过php.ini更改了max_execution_time:

max_execution_time = 300

还要在config.inc.php上添加它:

$cfg['ExecTimeLimit'] = 0;

我想知道为什么它根本不起作用,并让我一直陷入该错误...代码是否有遗漏?任何帮助将不胜感激,谢谢!

3 个答案:

答案 0 :(得分:3)

要临时设置限制,只需在代码中执行

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)

答案 1 :(得分:1)

编辑 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)

希望这对您有所帮助。

答案 2 :(得分:0)

尝试在查询之前将其添加到您的控制器中

set_time_limit(300);