Как обновить PHPmyAdmin [пересмотрено]

28

Этот вопрос был задан ранее, Как обновить PHPmyAdmin

Ответ был дан

sudo apt-get update
sudo apt-get install phpmyadmin

или

sudo apt-get update
sudo apt-get upgrade

Версия phpmyadminвключена в apt-get is 4.5.4, которая была выпущена 28 января 2016 года.

В ответе на этот вопрос одним из ответов было использование архива phpMyAdmin, который предлагает следующие команды.

sudo add-apt-repository ppa:phpmyadmin/ppa
sudo apt-get update

В моем случае это многое обновило, но, не конкретно phpmyadmin, мне понадобилась дополнительная команда

sudo apt-get update phpmyadmin

Это было успешно пройти версии , 4.9.0.1которая была выпущена в 2019 году.

На момент написания статьи, кажется, что загрузка и копирование вручную с использованием расплывчатых инструкций из docs.phpmyadmin.net обязательны.

Существует ли более актуальный репозиторий для phpmyadminPPA или требуется ручная установка?

Дуайт Уилбанкс
источник
2
@ Rinzwind, это в настоящее время в версии 4.5.4, и я хотел бы, чтобы это была текущая версия 4.7.3, как это не и обновить?
Дуайт
Если вы не можете понять, как установить pma из tar-архивов, вам действительно не стоит заниматься управлением веб-сервером ... -1 для всех здесь.
fkraiem

Ответы:

36

@Photo Ларри очень сильно ударил ногтем по голове! Я собираюсь дать ответ на основе его, который будет легко понять и следовать.

  • Ваш первый шаг должен установить PMA (PhpMyAdmin) из официального репозитория Ubuntu: apt-get install phpmyadmin.
  • Затем перейдите в каталог USR / доли: cd /usr/share.
  • В- третьих, удалить каталог PhpMyAdmin: rm -rf phpmyadmin.
  • Теперь нам нужно загрузить последнюю версию РМА на нашей системе (обратите внимание , что вам нужно Wget: apt-get install wget): wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.zip" Позвольте мне объяснить аргументы этой команды, -Р определяет путь и «link.zip» в настоящее время (7/17/18 ) последняя версия PMA. Вы можете найти эти ссылки ЗДЕСЬ .
  • Для следующего шага вам нужно распаковать ( apt-get install unzip): unzip phpMyAdmin-4.8.2-english.zip. Мы только что распаковали PMA, теперь мы перенесем его в последний дом.
  • Давайте использовать команду cp(копировать), чтобы переместить наши файлы! Обратите внимание, что мы должны добавить -rаргумент, так как это папка. cp -r phpMyAdmin-4.8.2-english phpmyadmin,
  • Теперь пришло время навести порядок rm -rf phpMyAdmin-4.8.2-english.

Продолжай читать!

Теперь вы можете заметить две ошибки после входа в PMA.

the configuration file now needs a secret passphrase (blowfish_secret). phpmyadmin
The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.

Однако эти проблемы относительно легко исправить. Для первой проблемы все, что вам нужно сделать, это взять ваш редактор по своему выбору и редактировать, /usr/share/phpmyadmin/config.inc.phpно есть проблема, мы удалили ее! Это нормально, все, что вам нужно сделать, это: cd /usr/share/phpmyadmin& cp config.sample.inc.php config.inc.php.

Пример phpMyAdmin Запись секретной переменной Blowfish:

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = '{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V'; 
/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Теперь сохраните и закройте файл.

  • Теперь мы создадим каталог tmp для PMA: mkdir tmp& chown -R www-data:www-data /usr/share/phpmyadmin/tmp. Последняя команда позволяет веб-серверу Apache владеть каталогом tmp и редактировать его содержимое.

РЕДАКТИРОВАТЬ 12 декабря 2018

Вы же не хотите, чтобы кто-нибудь украл ваши куки?

Мне стало известно, что https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator вызывает ошибки в более старых версиях PMA. Однако, главная причина , я отговорить вас на веб - сайты используют , как это происходит потому , что вы понятия не имеете , используют ли они слабые ПСЧ (Pseudo-Random Number Generator) (например rand(), mt_rand()и lcg_value()) или один из «перетасовки» функций (например str_shuffle(), shuffle(), array_rand()). Таким образом, я сделал свой собственный инструмент для этой цели. Он генерирует криптографически безопасную 32-символьную строку, которую вы можете использовать, не заботясь о безопасности или ошибках! Справочная страница по PHP для функции, которую я использую для генерации случайности http://php.net/manual/en/function.random-int.php . Я заменил старую ссылку на эту:https://www.motorsportdiesel.com/tools/blowfish-salt/pma/ .

CRIMSON 501
источник
Хорошие гиды! Я следовал за ними с несколькими побочными действиями: а) вместо удаления старой версии, я переименовал бы ее; б) может быть удобно создать символическую ссылку phpmyadmin, которую можно легко переключать между несколькими версиями.
AntonK
Я скопировал ваш ответ здесь, так как считаю, что это лучший вариант. Если вы хотите сделать свой собственный ответ, скажите мне, и я уберу свой.
PhoneixS
Все хорошо. Большое спасибо за кредит и порядочность сообщить мне! @PhoneixS
CRIMSON 501
Вы также должны удалить загруженный файл ZIP как часть очистки
IvanRF
9

Я просто должен был сделать это из-за проблем с php7.2 и получения ошибки count(): Parameter must be an array or an object that implements Countable.

Версия от apt была 4.5.4, а у ppa нет исправлений для php7.2. Моим решением было скачать последнюю версию с https://www.phpmyadmin.net/ и скопировать файлы в /usr/share/phpmyadmin.

Джейсон Хоул
источник
1
работал на меня, как шарм
Норман Берд
ОК, теперь намного лучше! Debian (и Ubuntu) должны обновить свои пакеты. Ps. Я даже использую PHP 7.3.
danger89
3

Как указано выше, вам необходимо обновить файлы вручную, но я искал час, чтобы выяснить, где они были расположены (/ usr / share), и продолжал видеть, что они будут помещены в / var / www / html, что неверно , Если вы установили программное обеспечение с помощью apt-get install phpmyadmin после добавления вышеупомянутого репозитория, который, как утверждается, является текущим, то вы по крайней мере получите необходимые библиотеки php7.2. Затем вам нужно установить НОВУЮ версию (4.8) в / usr / share / phpmyadmin, перейдя в / usr / share и клонировав клон git: git https://github.com/phpmyadmin/phpmyadmin.git (Сначала я выполнил команду rm -rf phpmyadmin), просто чтобы убедиться, что старого кода не осталось. Затем при входе в веб-интерфейс .... вы видите, что используется новейшая версия. Затем обязательно перейдите на phpmyadmin и запустите: composer update --no-dev. Получит необходимые дополнительные библиотеки. Это устанавливает 4.9.0-dev, который работает отлично, и я использую Ubuntu 16.04.4. Спасибо, надеюсь, это поможет кому-то сэкономить время

Фото Ларри
источник
Спасибо !, это спасло мой день! но я решил использовать стабильный github.com/blackmambano5/phpmyadmin.git это версия 4.8.1 и все работает!
gfivehost
Спасибо, это помогло. Я установил из zip, а не из Github, там особой разницы нет. Я предлагаю отредактировать вопрос, чтобы разбить большой абзац на список шагов.
пгр
Лучше получать самую последнюю стабильную версию от мерзавца , как это: git clone -b STABLE https://github.com/phpmyadmin/phpmyadmin.git.
Кристофер К.
2

Вы можете просто вручную установить последнюю версию phpmyadmin.

Перейдите на https://www.phpmyadmin.net/downloads и загрузите последнюю версию, но убедитесь, что у вас есть совместимая версия PHP и MySQL, как указано на веб-сайте.

Распакуйте его в общую папку вашего сервера и отредактируйте config.inc.phpфайл. Убедитесь , что ваш auth_typeIS cookieи hostявляется то , что ваш хозяин. Этот параметр заставит вас ввести имя пользователя и пароль при входе в систему.

/*Authentication type*/
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
Тимоти
источник
2

Я бы использовал архив phpMyAdmin, если вам действительно нужна последняя версия. Имейте в виду, что есть зависимость (вам также нужен более новый php):

Описание PPA

Последние пакеты phpMyAdmin - https://www.phpmyadmin.net/ . Основано на пакетах, доступных в Debian.

Есть некоторые заметные изменения:

Rinzwind
источник
2
Я думаю, что он спросил, как обновить его до последней версии, а не где можно скачать установку.
Тарик
1
В июле 2018 года этот PPA все еще находится на 4.6.6 (с ошибкой), а phpMyAdmin на 4.8 (без ошибки). Похоже, PPA больше не поддерживается?
Стив
Только что использовал этот PPA - 4.9.0, не так уж плохо - последний 4.9.1. Делает жизнь проще.
Пришлось
0

Я бы посоветовал использовать Docker для запуска последней версии phpmyadmin. Это просто установить, и все зависимости автоматически управляются и не взаимодействуют с вашей локальной установкой. Он использует 25 МБ оперативной памяти, поэтому он также не является кешем памяти.

Очень легко запустить последнюю версию phphmyadmin на любой платформе.

https://docs.phpmyadmin.net/en/latest/setup.html#installing-using-docker

Peterdk
источник
0

Ответ Crimson501 безупречен, если только вы не в Ubuntu, чтобы исправить проблему blowfish и файла tmp в ubuntu, вам нужно изменить следующий файл, чтобы он ссылался на существующий конфигурационный файл и каталог tmp, который использует ubuntu.

Используя ваш любимый текстовый редактор, измените:

/usr/share/phpmyadmin/libraries/vendor_config.php
find TEMP_DIR
modify './tmp/' to '/var/lib/phpmyadmin/tmp/'
find CONFIG_DIR
modify '' to '/etc/phpmyadmin/'
save the changes

Теперь, когда вы вернетесь и обновите страницу, ошибки исчезнут.

user373310
источник
-1

Следуя приведенным здесь инструкциям , я создал этот простой скрипт для обновления PHPMyAdmin до последней стабильной версии:

echo
echo "Backing up"
mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak

echo "Getting lastest PHPMyAdmin version..."
mkdir -p /usr/share/phpmyadmin/
cd /usr/share/phpmyadmin/
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
tar xzf phpMyAdmin-latest-all-languages.tar.gz
mv phpMyAdmin-*/* /usr/share/phpmyadmin

echo "Updating vendor_config"
sed -i -r "s/('TEMP_DIR'\s*,)[^\)]*/\1 '\/var\/lib\/phpmyadmin\/tmp\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php
sed -i -r "s/('CONFIG_DIR'\s*,)[^\)]*/\1 '\/etc\/phpmyadmin\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php

echo "Cleaning up..."
rm /usr/share/phpmyadmin/phpMyAdmin-latest-all-languages.tar.gz
rm -rf /usr/share/phpmyadmin/phpMyAdmin-*
rm -rf /usr/share/phpmyadmin.bak

echo "Done!"
echo
garsax
источник