Как обновить phpMyAdmin на сервере с Linux
phpMyAdmin может быть установлен как на веб-сервере, так и на отдельном компьютере для удаленного управления базами. Также он может быть как часть известных сбором — openserver, denwer и так далее. Его мы можем захотеть обновить по разным соображениям, чаще всего, для поддержки более новых версий СУБД mysql/mariadb. Данная инструкция демонстрируем процесс обновления для систем на базе Linux. Однако, процесс не сильно отличается для различных операционных систем.
Обновление phpMyAdmin выполняется путем замены файлов веб-приложения со старых на новые. Процедура несложная и выполняется в несколько шагов:
1. Смотрим текущую версию phpMyAdmin
Заходим на веб-интерфейс phpMyAdmin и подключаемся к базе, введя логин и пароль для самой базы. На главной странице в подразделе «phpMyAdmin» мы увидим информацию о нашем приложении, например:

* как видим, в данном примере используется версия 4.6.1, которую можно обновить до 4.8.5.
2. Ищем на сервере каталог phpMyAdmin
Проще всего воспользоваться командой find:
find / -iname "phpmyadmin*" -type d
* в данном примере мы ищем все папки, имя которых начинается на phpmyadmin.
В моем случае я получил ответ:
* в вашем случае команда может выдать несколько результатов — внимательнее проверяем содержимое найденного.
Также можно найти каталог с файлами phpMyAdmin, посмотрев путь в конфигурационном файле веб-сервера.
Типичные пути расположения phpMyAdmin:
- /usr/share/phpmyadmin
- /var/www/phpmyadmin
- /usr/local/www/phpmyadmin
3. Загружаем нужную версию
Переходим на сайт разработчика phpMyAdmin и копируем ссылку на нужную нам версию — в данной инструкции мы обновляем приложение до последней версии:

* на момент обновления инструкции, последняя версия была 4.9.0.1. Для рабочих сред версии alpha лучше не устанавливать.
В консоли сервера, используя скопированную ссылку, скачиваем архив:
* если система вернет ошибку, проверьте, что установлен пакет wget.
* мы можем также скачать архив на любой компьютер с Windows и перенести его на сервер Linux с помощью WinSCP.
Распаковываем скачанный архив:
* если система вернет ошибку «unzip: command not found» устанавливаем данное приложение командами apt-get install unzip или yum install unzip.
4. Изучаем системные требования к новой версии
На сайте, где мы загрузили phpMyAdmin, кликаем по его версии в левой колонке:

В открывшемся окне под описанием релиза находим информацию с требованиями к новой версии. Например, для скачанной нами версии требования «Current version compatible with PHP 5.5 to 7.2 and MySQL 5.5 and newer» — это значит, что на нашем сервере должна быть установлена PHP версии 5.5 и выше, а также MySQL 5.5. и выше.
Проверить версию php можно командой:
Проверить версию MySQL:
Если наш сервер не удовлетворяет требованиям веб-интерфейса управления базой данных, необходимо либо обновить PHP/MySQL, либо выбрать менее свежую версию phpMyAdmin.
5. Сохраняем файлы текущего приложения
Перед тем, как заменить приложение новыми файлами, переносим текущее в новый каталог. Это необходимо как для сохранения конфигурационного файла, так и для получения резерва на случай, если новое приложение заработает со сбоями.
Для переноса приложения используем команду mv:
mv /var/www/phpMyAdmin /var/www/old.phpMyAdmin
* где /var/www/phpMyAdmin — путь, который мы определили на шаге 2.
6. Заменяем файлы
Переносим содержимое ранее загруженного и распакованного архива в каталог по старому пути, где располагалась предыдущая версия веб-приложения:
mv phpMyAdmin-4.8.5-all-languages /var/www/phpMyAdmin
Задаем владельца на каталог.
а) если используем CentOS / Red Hat / Fedora:
chown -R apache:apache /var/www/phpMyAdmin
а) если используем Ubuntu / Debian:
chown -R www-data:www-data /var/www/phpMyAdmin
Возвращаем конфигурационный файл:
cp /var/www/old.phpMyAdmin/config.inc.php /var/www/phpMyAdmin/
Возможные проблемы
1. Ошибка при обработке запроса, код 200, parsererror (rejected)
Появляется во всплывающем окне сразу после входа в базу. Дополнительно сообщение: «Похоже соединение с сервером потеряно. Проверьте сетевое подключение и статус сервера.»
Причина: предыдущие сессии могут храниться на сервере. Когда мы подключаемся к базе, к которой ранее подключались со старого phpMyAdmin, приложение безуспешно пытается их использовать.
Решение: просто обновляем в браузере страницу и заходим в базу повторно.
2. Секретная парольная фраза в конфигурации (blowfish_secret) слишком короткая
Предупреждение может появиться снизу на страницах приложения.
Причина: в более новых версиях может потребоваться использовать более стойкую парольную фразу. Она задается в конфигурационном файле, который мы перенесли со старой версии.
Решение: меняем парольную фразу. Сначала генерируем ее командой:
Как обновить phpMyAdmin
Очевидно, что на своём локальном сервере вы можете обновить phpMyAdmin. Но если, к примеру, ваш хостинг-провайдер предоставляет вам устаревшую версию phpMyAdmin, то вы можете перейти на самую последнюю версию! Дело в том, что phpMyAdmin — это обычное веб-приложение, которое работает на PHP и вы вместо того, чтобы использовать устаревшую версию которую предоставляет хостинг, можете установить свой собственный экземпляр phpMyAdmin — точно также, как и любую другую программу на PHP.
Подразумевается, что программа установлена в c:\Server\data\htdocs\phpMyAdmin\ — если у вас другой путь, то последующие инструкции подкорректируйте исходя из ваших условий.
Обновляя phpMyAdmin можно не опасаясь за базы данных — эта программа является только интерфейсом для облегчения работы с базами данных, но не содержит их, поэтому базы данных не затрагиваются при обновлении или удалении phpMyAdmin.
Обновление phpMyAdmin
Скачайте архив с новой версией phpMyAdmin с официального сайта: https://www.phpmyadmin.net/
- Скопируйте в безопасное место файл c:\Server\data\htdocs\phpMyAdmin\config.inc.php.
- Удалите папку C:\Server\bin\phpMyAdmin\ (это не затронет ваши сайты и базы данных).
- Распакуйте новый архив в C:\Server\data\htdocs\. Переименуйте папку в phpMyAdmin.
- Скопируйте сохранённый ранее файл config.inc.php в c:\Server\data\htdocs\phpMyAdmin\config.inc.php.
Вот и всё — теперь у вас самая последняя версия phpMyAdmin, которую вы можете обновить в любое время.
Перезапускать сервер не нужно, поскольку phpMyAdmin никак не связан с бинарными файлами веб-сервера, а представляет собой набор PHP скриптов.
Как вручную обновить phpMyAdmin
Со времени выпуска Ubuntu 18.04 и других дистрибутивов Linux у многих людей возникли проблемы с совместимостью PHP 7.2 и phpMyAdmin 4.6. В посте мы разберем как решить эту проблему и что делать дальше
Когда у вас стоит phpMyAdmin и в репозитории не обновляют последнюю версию, а warning’ы типа
уже начинают доставать, то тут либо заходить в каждый файл и заменять строчки кода;
либо же, что логичнее всего, обновить версию phpMyAdmin до последней версии, вручную.
Обновление phpMyAdmin до последней версии
1. Сделайте резервную копию
На всякий пожарный случай, можно сделать резервную копию текущей папки phpMyAdmin, переместив ее с добавлением к имени, что-нибудь типа bak:
2. Загрузите и распакуйте phpMyAdmin
Зайдите в папку phpMyAdmin, скорее всего это будет:
Далее, зайдите на страницу загрузок phpMyadmin, скопируйте ссылку на последнюю версию, и загрузите zip архив с помощью wget:
На сегодняшний день, последняя стабильная версия 4.9.2. Если теперь доступна более поздняя версия, не забудьте изменить версию в ссылке.
Далее распакуем архив с помощью unzip, если нет данной утилиты, то установите ее sudo apt-get install unzip:
3. Скопируйте и удалите папку и архив
Для надежности используем команду cp (копировать), чтобы скопировать распакованную папку! Обратите внимание, что необходим -r аргумент, так как это папка:
Если все прошло успешно можно удалить ненужные папку и архивы:
Теперь же зайдя по адресу /phpmyadmin мы уже можем увидеть обновленную версию PMA, но внизу будут предупреждения об отсутствии временной папки tmp и пустой парольной фразе blowfish_secret:

4. Отредактируйте конфигурационные файлы
Чтобы исправить данную проблему, можно пойти двумя путями:
Первый вариант — это замена в файле «/usr/share/phpmyadmin/libraries/vendor_config.php» параметры TEMP_DIR и CONFIG_DIR на значения ниже:
phpMyAdmin теперь будет генерировать собственный blowfish_secret на основе каталога установки.
Второй вариант — создать временную папку в корне /usr/share/phpmyadmin, как ссылается параметр конфига TEMP_DIR и назначить ей владельца пользователя www-data:
Предупреждение о папке tmp должно исчезнуть в phpMyAdmin.
Далее нужно скопировать сэмпл конфигурационного файла config.sample.inc.php в config.inc.php, найти параметр blowfish_secret и вставить вместо пустой строки свой хэш:
Сгенерируйте произвольный хеш и вставьте в параметр конфига blowfish_secret:
сохраните файл. Предупреждение об blowfish_secret так же должно исчезнуть.
Второй вариант прост в использовании, но лучше все же изменять vendor_config, что даст некоторые преимущества в работе с phpMyadmin в будущем.
Скрипт PMA Updater
Чтобы процесс обновления проходил более удобнее и быстрее я написал bash скрипт, который доступен по адресу https://github.com/sinbadxiii/pma-updater , достаточно будет склонировать себе репозиторий и запустить скрипт обновления phpMyAdmin до последней версии командой:
- Поделиться

Веб-разработчик со стажем программирования более 10 лет, всегда в процессе учебы и созидания.