Jak zaktualizować PHPmyAdmin [ponownie]

28

To pytanie zostało wcześniej zadane: Jak zaktualizować PHPmyAdmin

Podano odpowiedź

sudo apt-get update
sudo apt-get install phpmyadmin

lub

sudo apt-get update
sudo apt-get upgrade

Wersja phpmyadminzawarta w apt-get to 4.5.4, która została wydana 28 stycznia 2016 r.

W odpowiedzi na to pytanie jedną odpowiedzią było użycie archiwum phpMyAdmin, które oferuje następujące polecenia.

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

W moim przypadku zaktualizowałem wiele rzeczy, ale nie specjalnie phpmyadminpotrzebowałem dodatkowego polecenia

sudo apt-get update phpmyadmin

To było skutecznie ominąć wersji 4.9.0.1, który został wydany w 2019 roku.

W chwili pisania tego tekstu wydaje się, że wymagane jest ręczne pobieranie i kopiowanie przy użyciu niejasnych instrukcji z docs.phpmyadmin.net .

Czy istnieje bardziej aktualne repozytorium phpmyadminniż PPA lub czy wymagana jest instalacja ręczna?

Dwight Wilbanks
źródło
2
@Rinzwind, Obecnie jest w wersji 4.5.4 i chciałbym, aby była to bieżąca wersja 4.7.3, jak to nie jest i aktualizacja?
Dwight Wilbanks
Jeśli nie możesz dowiedzieć się, jak zainstalować pma z tarballi, naprawdę nie powinieneś zajmować się zarządzaniem serwerem WWW ... -1 dla wszystkich tutaj.
fkraiem

Odpowiedzi:

36

@Photo Larry prawie trafił w sedno! Dam odpowiedź na podstawie jego, która będzie łatwa do zrozumienia i naśladowania.

  • Pierwszym krokiem jest zainstalowanie PMA (phpMyAdmin) z oficjalnego repo Ubuntu: apt-get install phpmyadmin.
  • Następnie cd do katalogu / usr zakładowego: cd /usr/share.
  • Po trzecie, usuń katalog phpMyAdmin: rm -rf phpmyadmin.
  • Teraz musimy pobrać najnowszą wersję PMA na nasz system (pamiętaj, że musi pan wget: apt-get install wget): wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.zip" Pozwól mi wyjaśnić argumenty tej komendy, -P określa ścieżkę i „link.zip” jest obecnie (17/07/18 ) najnowsza wersja PMA. Te linki można znaleźć TUTAJ .
  • W tym następnym kroku trzeba rozpakować ( apt-get install unzip) unzip phpMyAdmin-4.8.2-english.zip. Właśnie rozpakowaliśmy PMA, teraz przeniesiemy go do ostatecznego domu.
  • Użyjmy polecenia cp(kopiuj), aby przenieść nasze pliki! Zauważ, że musimy dodać -rargument, ponieważ jest to folder. cp -r phpMyAdmin-4.8.2-english phpmyadmin.
  • Teraz nadszedł czas, aby oczyścić: rm -rf phpMyAdmin-4.8.2-english.

Czytaj dalej!

Możesz teraz zauważyć dwa błędy po zalogowaniu się do 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.

Problemy te można jednak stosunkowo łatwo naprawić. W przypadku pierwszego wydania wystarczy pobrać edytor i edytować, /usr/share/phpmyadmin/config.inc.phpale jest problem, usunęliśmy go! W porządku, wszystko co musisz zrobić to: cd /usr/share/phpmyadmin& cp config.sample.inc.php config.inc.php.

Przykład phpMyAdmin Blowfish Secret Variable Entry:

/*
 * 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! */

Teraz zapisz i zamknij plik.

  • Teraz utworzymy katalog tmp dla PMA: mkdir tmp& chown -R www-data:www-data /usr/share/phpmyadmin/tmp. Ostatnie polecenie pozwala serwerowi Apache posiadać katalog tmp i edytować jego zawartość.

EDYCJA 12 grudnia 2018 r

Nie chcesz, żeby ktoś ukradł twoje ciasteczka, prawda?

Zwrócono mi uwagę, że https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator powoduje błędy w starszych wersjach PMA. Jednak głównym powodem, że zniechęcają do korzystania z witryn jak to dlatego, że nie masz pojęcia, czy używają oni słabą PRNG (Pseudo-Random Number Generator) (na przykład rand(), mt_rand()i lcg_value()) lub jeden z „tasowania” funkcje (na przykład str_shuffle(), shuffle(), array_rand()). Jako takie stworzyłem własne narzędzie do tego celu. Generuje kryptograficznie bezpieczny ciąg 32 znaków, którego można używać bez obaw o bezpieczeństwo lub błędy! Strona podręcznika PHP dla funkcji, której używam do generowania losowości http://php.net/manual/en/function.random-int.php . Zamieniłem stary link na ten:https://www.motorsportdiesel.com/tools/blowfish-salt/pma/ .

CRIMSON 501
źródło
Ładne linie pomocnicze! Podążyłem za nimi z kilkoma bocznymi krokami: a) zamiast usuwać starą wersję, zmieniłem jej nazwę; b) przydatne może być utworzenie dowiązania symbolicznego phpmyadmin, które można łatwo przełączać między wieloma wersjami.
AntonK,
Skopiowałem tutaj twoją odpowiedź , ponieważ uważam, że to najlepsza opcja. Jeśli chcesz stworzyć własną odpowiedź, powiedz mi, a ja ją usunę.
PhoneixS,
W porządku. Ogromne dzięki za kredyt i przyzwoitość poinformowania mnie! @PhoneixS
501
Powinieneś również usunąć pobrany plik ZIP w ramach czyszczenia
IvanRF
9

Po prostu musiałem to zrobić z powodu problemów z php7.2 i otrzymania błędu count(): Parameter must be an array or an object that implements Countable.

Wersja z apt miała wersję 4.5.4, a ppa nie ma poprawek do php7.2. Moim rozwiązaniem było pobranie najnowszej wersji ze strony https://www.phpmyadmin.net/ i skopiowanie plików na /usr/share/phpmyadmin.

Jason Houle
źródło
1
pracował dla mnie jak urok
Norman Bird
OK, teraz znacznie lepiej! Debian (i Ubuntu) powinni zaktualizować swoje pakiety. Ps. Korzystam nawet z PHP 7.3.
niebezpieczne89
3

Jak wspomniano powyżej, musisz ręcznie zaktualizować pliki, ale szukałem przez godzinę, aby dowiedzieć się, gdzie się one znajdują (/ usr / share) i wciąż widziałem, że będzie on umieszczony w / var / www / html, co jest niepoprawne . Jeśli zainstalowałeś oprogramowanie z apt-get install phpmyadmin po dodaniu repozytorium, powyżej którego twierdzi się, że jest aktualne, to otrzymasz przynajmniej potrzebne biblioteki php7.2. Następnie musisz zainstalować NOWĄ wersję (4.8) w / usr / share / phpmyadmin, przechodząc do / usr / share i klonując git: git clone https://github.com/phpmyadmin/phpmyadmin.git (Zrobiłem najpierw rm -rf phpmyadmin), aby upewnić się, że nie został żaden stary kod. Następnie wchodząc do interfejsu internetowego .... widać, że używana jest najnowsza wersja. Następnie pamiętaj, aby przejść do cd do phpmyadmin i uruchomić: composer update --no-dev Spowoduje to dodanie potrzebnych bibliotek. Spowoduje to zainstalowanie wersji 4.9.0-dev, która działa świetnie i korzystam z systemu Ubuntu 16.04.4. Dzięki, mam nadzieję, że to pomoże komuś zaoszczędzić czas

Zdjęcie Larry
źródło
Dziękuję !, to uratowało mi dzień! ale zdecydowałem się użyć stabilnego github.com/blackmambano5/phpmyadmin.git to jest wersja 4.8.1 i wszystko działa!
gfivehost
Dzięki, pomogłem. Zainstalowałem z zip, nie z Github, nie ma tam dużej różnicy. Sugeruję edycję pytania, aby podzielić duży akapit na listę kroków.
pgr
Lepiej pobierze najnowszą stabilną wersję z git tak: git clone -b STABLE https://github.com/phpmyadmin/phpmyadmin.git.
Christopher K.
2

Możesz po prostu ręcznie zainstalować najnowszą wersję phpmyadmin.

Udaj się na https://www.phpmyadmin.net/downloads i pobierz najnowszą wersję, ale upewnij się, że masz zgodną wersję PHP i MySQL wymienioną na stronie internetowej.

Wyodrębnij go do folderu publicznego serwera i edytuj config.inc.phpplik. Upewnij się, że twój auth_typejest cookiei hostjest kimkolwiek jest twój gospodarz. To ustawienie pozwoli Ci wprowadzić nazwę użytkownika i hasło podczas logowania.

/*Authentication type*/
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
Tymotka
źródło
2

Chciałbym skorzystać z archiwum phpMyAdmin, jeśli naprawdę potrzebujesz najnowszej wersji. Pamiętaj jednak, że istnieje zależność (potrzebujesz także nowszego php):

Opis PPA

Najnowsze pakiety phpMyAdmin - https://www.phpmyadmin.net/ . Na podstawie pakietów dostępnych w Debianie.

Istnieje kilka znaczących zmian:

Rinzwind
źródło
2
Myślę, że zapytał, jak zaktualizować go do najnowszej wersji, a nie skąd można pobrać instalację.
Tarik
1
W lipcu 2018 r. PPA wciąż jest w wersji 4.6.6 (z błędem), a phpMyAdmin w wersji 4.8 (bez błędu). Wygląda na to, że PPA nie jest już utrzymywane?
Steve
Właśnie użyłem tego PPA - 4.9.0, nieźle - najnowszy to 4.9.1. Ułatwia życie.
Musiałem
0

Radziłbym użyć Dockera do uruchomienia najnowszego phpmyadmin. Jest prosty w konfiguracji, a wszystkie zależności są automatycznie zarządzane i nie wchodzą w interakcje z lokalną instalacją. Zużywa 25 MB pamięci RAM, więc nie jest to także pamięć.

Bardzo łatwe do uruchomienia najnowszego phphmyadmin na dowolnej platformie.

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

Peterdk
źródło
0

Odpowiedź Crimson501 jest idealna, chyba że jesteś na Ubuntu, aby naprawić problem z blowfish i tmp na ubuntu, musisz zmodyfikować następujący plik, aby odwoływał się do istniejącego katalogu config i tmp używanego przez ubuntu.

Za pomocą swojego ulubionego edytora plików tekstowych zmodyfikuj:

/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

Teraz, gdy wrócisz i odświeżysz stronę, błędy znikną.

użytkownik373310
źródło
-1

Postępując zgodnie z instrukcjami tutaj , stworzyłem ten prosty skrypt, aby zaktualizować PHPMyAdmin do ostatniej stabilnej wersji:

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
źródło