Иногда при открытии phpMyAdmin отображается ошибка следующего вида: «Due to packaging complexities PHP 8.2.0+ is required». В результате ошибки доступ к базе полностью отсутствует, а интерфейс не прогружается, что делает невозможным дальнейшую работу. Почему ошибка появляется и как с ней бороться?
Причины появления ошибки?
Исходя из той информации, которая уже есть в текстовом сообщении ошибки можно понять, что причина кроется в несоответствии текущей версии phpMyAdmin с PHP. В нашем случае для успешного коннекта нужна как минимум PHP 8.2, а лучше даже версия выше. Ошибка появляется по той причине, что на сервере установлена версия PHP ниже требуемой системой. Последние обновления phpMyAdmin принесли некоторые изменения, а именно: старые версии PHP больше не поддерживаются (ключевое изменение), задействуются новые функции языка.
Все возможные причины появления ошибки:
- вы устанавливаете новую версию phpMyAdmin на старый сервер;
- в Docker-образах старый PHP;
- появилась в результате обновления PHP.
Как проверить версию PHP
Если вы внезапно увидели ошибку со следующим сообщением «Due to packaging complexities PHP 8.2.0+ is required», то первое, что нужно сделать - проверить текущую версию PHP.
Это можно сделать с помощью следующей команды:
php -v
Также это можно сделать и через веб
PHP
<?php phpinfo (); ?>
Если вы видите, что используемая версия ниже 8.2, то способ решения проблемы становится вполне очевидным. Также как вариант, почему появляется данная ошибка - в системе не установлен PHP-FPM.
Устраняем Due to packaging complexities PHP 8.2.0+ is required
Перед применением решения обязательно сделайте копии конфигурационных файлов сайтов:
В случае смены версии для режима «модуль Apache», все сайты работающие на нем изменят версию PHP.
В случае установки Nginx, будет выполнена повторная генерация конфигурационных файлов сайтов по шаблону.
Меняем версию PHP
Чтобы изменить версию PHP (наиболее эффективный способ) до 8.2 или выше нужно выполнить следующую команду:
sudo apt update
sudo apt install php8.2 php8.2-mysql php8.2-mbstring php8.2-xml
Перезапуск:
sudo systemctl restart apache2
или:
sudo systemctl restart php8.2-fpm
Использовать актуальный образ Docker
Если используется Docker:
docker pull phpmyadmin:latest
или в docker-compose:
YAML
phpmyadmin:
image: phpmyadmin:latest
Актуальные образы уже содержат нужную версию PHP.