Maximum execution time of 300 seconds exceeded

Решение ошибки «Maximum execution time of 300 seconds exceeded» в phpMyAdmin (OpenServer)

При импорте базы данных в phpMyAdmin на виртуальном сервере OpenServer возникает ошибка: Maximum execution time of 300 seconds exceeded in \OSPanel\modules\system\html\openserver\phpmyadmin\libraries\classes\Dbal\DbiMysqli.php on line 209. Причём, эта ошибка возникает даже после того, как в настройках PHP увеличили параметры max_execution_time, max_input_time, memory_limit, post_max_size, upload_max_filesize.

Дело в том, что phpMyAdmin имеет собственные ограничения в настройках, которые не зависят от глобальных параметров PHP. Поэтому кроме изменений в настройках PHP нужно ещё внести корректировки в два файла:

  1. OpenServer\modules\system\html\openserver\phpmyadmin\libraries\config.default.php
  2. OpenServer\modules\system\html\openserver\phpmyadmin\libraries\classes\Config\Settings.php

В файле config.default.php найдите и увеличьте значение параметра $cfg['ExecTimeLimit']. Например, если у вас $cfg['ExecTimeLimit'] = 300, то сделайте $cfg['ExecTimeLimit'] = 3000.

А в файле Settings.php найдите и замените 300 на 3000 в функции:

private function setExecTimeLimit(array $settings): int
    {
        if (! isset($settings['ExecTimeLimit'])) {
            return 300;
        }
 
        $execTimeLimit = (int) $settings['ExecTimeLimit'];
 
        return $execTimeLimit >= 0 ? $execTimeLimit : 300;
    }

После этого перезапустите OpenServer. Если вы всё сделали правильно, то ошибка уже не должна возникать.

Видео про устранение ошибки Maximum execution time в phpMyAdmin

Main Menu