Як оновити PHPmyAdmin [переглянуто]


28

Це питання було задано раніше: Як оновити PHPmyAdmin

Дана відповідь була

sudo apt-get update
sudo apt-get install phpmyadmin

або

sudo apt-get update
sudo apt-get upgrade

Версія phpmyadminвключена в apt-get є 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 з tarballs, ви дійсно не повинні займатися управлінням веб-сервером ... -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(copy) для переміщення наших файлів! Зауважте, що ми повинні додати -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 та редагувати його вміст.

EDIT 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/ .


Приємних рекомендацій! Я дотримувався їх з кількома побічними кроками: а) замість того, щоб видаляти стару версію, я перейменував би її; б) може бути зручним створення символічного посилання 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) повинні оновити свої пакети. Пс. Я навіть запускаю PHP 7.3.
небезпека89

3

Як було сказано вище, вам потрібно оновити файли вручну, але я шукав годину, щоб дізнатися, де вони розташовані (/ usr / share) і постійно бачив, що це буде розміщено в / var / www / html, що невірно . Якщо ви встановили програмне забезпечення з apt-get install phpmyadmin після додавання сховища, над яким стверджується, що воно є поточним, то ви принаймні отримаєте необхідні ліги php7.2. Тоді вам потрібно встановити НОВУ версію (4.8) у / usr / share / phpmyadmin, перейшовши до / usr / share та клонуючи git: git clone https://github.com/phpmyadmin/phpmyadmin.git (Я зробив rm -rf phpmyadmin спочатку), щоб переконатися, що старого коду не залишилося. Потім, перейшовши на веб-інтерфейс .... ви бачите, що зараз використовується найновіша версія. Тоді обов’язково перейдіть на phpmyadmin та запустіть: оновлення композитора --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.

Є деякі помітні зміни:

  • в даний час потрібні оновлені пакети PHP, ви можете отримати пакунки з https://launchpad.net/~ondrej/+archive/ubuntu/php/
  • він включає вбудовані копії бібліотек PHP

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


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

Тепер, коли ви повернетесь і оновите сторінку, помилок не буде.



-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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.