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