phpMyAdmin. Достигнут временной лимит выполнения скрипта
При импорте БД из архива на тестовом сервере через phpMyAdmin получил сообщение следующего формата:
Достигнут временной лимит выполнения скрипта. Для завершения импорта, пожалуйста повторно отправьте тот же файл и импорт будет возобновлен.
Обычно на Debian/Ubuntu при установке phpMyAdmin из пакетов он ставится в директорию /usr/share/phpmyadmin/, поэтому переходим в неё:
cd /usr/share/phpmyadmin/
Теперь необходимо отредактировать конфигурационный файл config.inc.php, можно пользоваться любым редактором файлов, я предпочитаю nano. Открываем файл на редактирование:
nano config.inc.php
Если при открытии файла вы увидели сообщение «Directory ‘.’ is not writable» — это означает, что текущая директория недоступна для записи. Переоткроем файл через sudo:
sudo nano /usr/share/phpmyadmin/config.inc.php
Если увидели снизу окна редактирования сообщение «New File», это означает что файл конфигурации не существовал и будет создан после сохранения вами текущей редакции. Можно, конечно, скопировать дефолтовую конфигурацию из файла config.sample.inc.php и редактировать её, но так как в моей ситуации — сервер тестовый — мне достаточно будет внести в созданный файл строку:
Важное замечание: настройка теряет всякий смысл, если php запущен в безопасном режиме.
Если после внесения изменений ничего не изменилось и вы получаете всё ту же ошибку, следует проверить настройки php.ini. Обычно я создаю в корне сайта файл php_info.php со следующим содержимым:
<?php
phpinfo();
?>
Вызвав который из браузера можно однозначно увидеть какая версия php в каком режиме работает и где находится файл конфигурации php.ini:
Смотрим строку Configuration File (php.ini) Path, и видим /etc/php/7.4/fpm/php.ini. Отлично, редактируем файл:
sudo nano /etc/php/7.4/fpm/php.ini
Находим параметр max_execution_time, обычно его значение = 60. Увеличим его до 120:
max_execution_time = 120
Так как у нас PHP работает в режиме FastCGI, то для применения настроек необходимо его перезапустить.
Если ничего из вышеперечисленного не помогает, остается загрузить файл на сервер и импортировать вручную командой:
mysql -u database_user -p database_name < database_dump.sql