Ręcznie zaktualizuj phpMyAdmin w Ubuntu
W chwili pisania tego, wersja phpMyAdmin dostępna w Ubuntu menedżer pakietów (4.5.4) nie obsługuje w pełni php7.2, co prowadzi do irytującego ostrzeżenia count(). Rozwiązaniem jest aktualizacja do najnowszej wersji phpMyAdmin , czyli 4.7.9 w momencie pisania tego tekstu.
Pakiet Ubuntu jest w tyle. Istnieje phpMyAdmin PPA , ale to też jest za:
„Uwaga:to repozytorium jest obecnie nieco opóźnione, ponieważ nie mogę znaleźć czasu na aktualizację do serii 4.7”.
Na szczęście możemy ręcznie zaktualizować starszą wersję.
Podstawowe kroki to:
- Zrób kopię zapasową bieżącej instalacji
- Pobierz i rozpakuj najnowszą wersję phpMyAdmina
- Zmodyfikuj plik vendor_config.php w odpowiednim katalogu dla Ubuntu
- Dodaj dłuższy losowy ciąg, aby rozwiązać komunikaty o błędach blowfish i umożliwić prawidłowe uwierzytelnianie plików cookie
Te polecenia terminala powinny wykonać zadanie (w razie potrzeby użyj sudo):
mv /usr/share/phpmyadmin /usr/share/phpmyadmin_old
mkdir /usr/share/phpmyadmin
mkdir /var/downloads
cd /var/downloads
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.9/phpMyAdmin-4.7.9-all-languages.tar.gz
tar -xf phpMyAdmin-4.7.9-all-languages.tar.gz -C /usr/share/phpmyadmin --strip-components=1
(Opcjonalnie ) Zastąp wiersz wget najnowszą wersją lub preferowanym formatem do wyboru. Odwiedź https://www.phpmyadmin.net/downloads/ .
Rozwiąż komunikat o błędzie Blowfish
W tym momencie prawdopodobnie pojawi się błąd Blowfish podczas korzystania z phpMyAdmina . Aby rozwiązać ten problem, należy zaktualizować określony plik konfiguracyjny:
- Otwórz
vendor_config.php
w/usr/share/phpmyadmin/libraries/vendor_config.php
- W linii 38 lub w jej pobliżu zastąp
define('CONFIG_DIR', '');
zdefine('CONFIG_DIR', '/etc/phpmyadmin/');
i zapisz plik.
Kiedy skończysz, wiersze 33-38 z vendor_config.php
powinien wyglądać mniej więcej tak:
/**
* Directory where configuration files are stored.
* It is not used directly in code, just a convenient
* define used further in this file.
*/
define('CONFIG_DIR', '/etc/phpmyadmin/');
W tym momencie phpMyAdmin może działać bez błędów, ale może być konieczne dodanie dodatkowej długości do ciągu konfiguracyjnego blowfish_secret .
- Otwórz plik
/var/lib/phpmyadmin/blowfish_secret.inc.php
.
Powinieneś zobaczyć:
<?php
$cfg['blowfish_secret'] = 'Something Short';
- Dodaj dodatkową losowość do
$cfg['blowfish_secret']
ciąg, co najmniej 40 znaków, a nawet dłuższy może być lepszy (ja używam ciągu o długości 100 znaków).
Na przykład (nie używaj tego, tylko przykład):
$cfg['blowfish_secret'] = 'A much longer random string 7NfSjYezwmwGCfGDuDO7uWn4ESw2sCFCym1RatPjGCfGCym1RatPjGCfG';
- Zapisz plik.
W tym momencie odśwież phpMyAdmina (w przeglądarce) i zaloguj się ponownie . Wszystko powinno teraz działać poprawnie.
W razie potrzeby możesz usunąć kopię zapasową starej wersji phpMyAdmin za pomocą:
rm -rfv /usr/share/phpmyadmin_old
Dodatkowa dokumentacja
Dla porównania, poniżej znajdują się fragmenty oficjalna dokumentacja phpMyAdmin o ręcznej aktualizacji do najnowszej wersji (to nie) Specyficzne dla Ubuntu):
Ostrzeżenie
Nigdy nie wyodrębniaj nowej wersji z istniejącej instalacji phpMyAdmin, zawsze najpierw usuwaj stare pliki, zachowując tylko konfigurację.
W ten sposób nie pozostawisz starego, niedziałającego już kodu w katalogu, co może mieć poważne konsekwencje dla bezpieczeństwa lub może powodować różne awarie.
Oraz:
Kompletną aktualizację można przeprowadzić w kilku prostych krokach:
-
Pobierz najnowszą wersję phpMyAdmin zhttps://www.phpmyadmin.net/downloads/ .
-
Zmień nazwę istniejącego folderu phpMyAdmin (na przykład na phpmyadmin-old).
-
Rozpakuj świeżo pobrany phpMyAdmin do wybranej lokalizacji (na przykład phpmyadmin).
-
Skopiuj config.inc.php` ze starej lokalizacji (phpmyadmin-old) do nowej (phpmyadmin).
-
Sprawdź, czy wszystko działa poprawnie.
-
Usuń kopię zapasową poprzedniej wersji (phpmyadmin-old).