Podczas uruchamiania phpmyadmin w 16.04 pojawiają się błędy:
Deprecation Notice in ./../php/php-gettext/streams.php#48
Backtrace
./../php/php-gettext/gettext.inc#41: require()
./libraries/select_lang.lib.php#477: require_once(./../php/php-gettext/gettext.inc)
./libraries/common.inc.php#569: require(./libraries/select_lang.lib.php)
./index.php#12: require_once(./libraries/common.inc.php)
Kontynuuje również te z tym samym śladem wstecznym jak powyżej:
Deprecation Notice in ./../php/php-gettext/streams.php#84
Deprecation Notice in ./../php/php-gettext/streams.php#145
Deprecation Notice in ./../php/php-gettext/gettext.php#36
Zaktualizowałem i zweryfikowałem, że korzystam z najnowszego gettext i mbstring. Masz jakieś przemyślenia na temat rozwiązania?
php
phpmyadmin
tseward
źródło
źródło
mcrypt
imbstring
moduły php i restart apache. Czy ty to zrobiłeś?Odpowiedzi:
To zależy od tego, czy jesteś wystarczająco ryzykowny. Jeśli rozumiesz błąd, oznacza to, że twój PHP ma jakieś stare konstruktory klas.
Stary konstruktor klasy php
Nowy konstruktor klasy php
Więc co zrobiłem było iść do
/usr/share/php/php-gettext/stream.php
i/usr/share/php/php-gettext/gettext.php
(lub cokolwiek plik podano w błąd), przejdź do pliku i zmianyfunction myclassname()
dofunction __construct
.Funkcja
myclassname
powinna być identyczna zmyclassname
deklaracją KLASY .Powinieneś zobaczyć około 4 błędów, jeśli jesteś na Ubuntu 16.04 z najnowszym gettext. Po prostu to zmieniam i nie jest to szkodliwe dla twojego systemu. Jest to przestarzała składnia programowania, a jeśli dokonasz aktualizacji w przyszłości, nie napotkasz również żadnego problemu. Powiem, że to bezpieczna edycja.
To nie jest tak naprawdę poważna zmiana ani nic, tylko aktualizacja składni. Jeśli instalujesz z pakietu apt-get, tak naprawdę nie masz innego wyjścia, chyba że sam się skompilujesz.
Błąd czytnika linii 48.
Przejdź do linii 52 i zmień
DO
Błąd 84 czytnika plików
Przejdź do linii 90 i zmień
do
Błąd CacheFileReader linii 145
Idź do linii 146 i zmień
do
Korzystanie
sudo nano /usr/share/php/php-gettext/gettext.php
.gettext_reader {
Błąd linii 36Myślę, że teraz rozumiesz, przejdź do linii 101 i zmień
Do
źródło
sudo nano /usr/share/php/php-gettext/gettext.php
isudo nano /usr/share/php/php-gettext/streams.php
Ponieważ nie mam jeszcze wystarczającej reputacji, aby skomentować świetną odpowiedź Someone Special , po prostu odpowiem.
Oto polecenia jednowierszowe, które wykonują sugerowane zmiany:
źródło
Możesz użyć innego PPA dla phpmyadmin.Oto link PPA
Ponieważ jest to tylko rozwiązanie tymczasowe lub nie jest optymalne, do czasu przebudowania pakietu phpmyadmin w repozytoriach ubuntu.
źródło
Ten komunikat o wycofaniu ”na stronie logowania do problemu phpMyAdmin można łatwo rozwiązać, edytując plik php.ini pod adresem
/etc/php/7.0/apache2/php.ini
Zmień wartość raportowania błędów na:
Domyślnie jest na pozycji komentarza, więc odkomentuj go i zmień.
Następnie uruchom ponownie Apache:
źródło