Kesalahan "Pemberitahuan Penghentian" di phpmyadmin dengan 16.04

11

Saya mendapatkan kesalahan ketika saya meluncurkan phpmyadmin di 16.04:

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)

Ini berlanjut dengan ini juga dengan jejak yang sama seperti di atas:

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

Saya telah memperbarui dan memverifikasi bahwa saya menggunakan gettext dan mbstring terbaru. Ada pemikiran tentang penyelesaian?

tseward
sumber
Pada tutorial ini dikatakan bahwa Anda harus mengaktifkan mcryptdan mbstringmodul php dan restart apache. Apakah kamu melakukan itu?
bistoco
ya saya memperbarui mcrypt dan mbstring dan telah me-restart apache.
tseward
Saya akan merekomendasikan [unduh paket secara langsung] ( phpmyadmin.net/downloads ) yang sesuai dengan versi php / mysql Anda, untuk mengatasi masalah.
bistoco

Jawaban:

29

Ini tergantung apakah Anda cukup berjiwa petualang. Jika Anda memahami kesalahannya, itu berarti PHP Anda memiliki beberapa konstruktor kelas lama.

Konstruktor Kelas Php TUA

Class myclassname {

    function myclassname() {
      //This is a constructor
    }

Konstruktor Kelas Php Baru

Class myclassname {
    function __construct() {
      //this is the new constructor using __construct instead of the same function name as class name.
}

Jadi yang saya lakukan adalah masuk ke /usr/share/php/php-gettext/stream.phpdan /usr/share/php/php-gettext/gettext.php(atau file apa pun yang dinyatakan dalam kesalahan Anda), buka file itu dan ubah function myclassname()ke function __construct.

Fungsi myclassnameharus identik dengan myclassnamedeklarasi CLASS .

Anda akan melihat sekitar 4 kesalahan jika Anda menggunakan ubuntu 16.04 dengan gettext terbaru. Saya baru saja mengubah itu dan itu tidak berbahaya bagi sistem Anda. Ini sintaks pemrograman yang ketinggalan jaman dan jika Anda meningkatkan di masa depan Anda tidak akan menghadapi masalah juga. Saya akan mengatakan itu adalah suntingan yang aman.

Ini sebenarnya bukan perubahan besar atau apa pun, hanya pembaruan sintaksis. Jika Anda menginstal dari paket apt-get, Anda benar-benar tidak punya pilihan lain kecuali Anda mengkompilasi sendiri.

sudo nano /usr/share/php/php-gettext/streams.php

Line 48 StringReader Error.

Pergi ke Jalur 52 dan ubah

function StringReader ($str='') {

UNTUK

function __construct($str='') {

Baris 84 Kesalahan FileReader

Pergi ke Jalur 90 dan ubah

function FileReader($filename) {

untuk

function __construct($filename) {

Baris 145 kesalahan CacheFileReader

Pergi ke Jalur 146 dan ubah

function CachedFileReader($filename) {

untuk

function __construct($filename) {

Menggunakan sudo nano /usr/share/php/php-gettext/gettext.php.

gettext_reader {Kesalahan saluran 36

Saya pikir Anda mendapatkan intinya sekarang, pergi ke baris 101 dan ubah

function gettext_reader($Reader, $enable_cache = true) {

Untuk

function __construct($Reader, $enable_cache = true) {
Seseorang yang spesial
sumber
2
kita harus melihat: sudo nano /usr/share/php/php-gettext/gettext.phpdansudo nano /usr/share/php/php-gettext/streams.php
Technico.top
file yang dipaketkan berasal dari 20101225. Jadi, meskipun menjaga cadangan hanyalah apa yang Anda lakukan - selalu - Anda harus aman dari pembaruan paket yang tidak memperbaiki perbaikan Anda, setiap pembaruan harus mengandung perbaikan itu sendiri!
flowtron
8

Karena saya belum memiliki reputasi yang cukup untuk mengomentari jawaban bagus Seseorang yang Spesial , saya hanya akan membalasnya.

Berikut adalah perintah satu-baris yang melakukan pengeditan yang disarankan:

sed -ri.bak's: function StringReader. *: function __construct ($ str = \ x27 \ x27) {: '/usr/share/php/php-gettext/streams.php
sed -ri's: function FileReader. *: function __construct ($ filename) {: '/usr/share/php/php-gettext/streams.php
sed -ri's: function CachedFileReader. *: function __construct ($ filename) {: '/usr/share/php/php-gettext/streams.php
sed -ri.bak's: function gettext_reader. *: function __construct ($ Reader, $ enable_cache = true) {: '/usr/share/php/php/gp-gettext/gettext.php
Kode biner
sumber
menyelamatkan saya sedikit waktu di sana ... terima kasih kawan :-)
Adam
5

Anda dapat menggunakan PPA lain untuk phpmyadmin. Ini dia PPA Link

sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt update
sudo apt install phpmyadmin

Karena ini hanya solusi sementara atau bukan yang optimal, sampai paket phpmyadmin dalam repo ubuntu dibangun kembali.

Deepanshu Jain
sumber
1
Ini membantu saya
Shashank Saxena
Hati-hati, ppa ini belum menerima pembaruan apa pun selama lebih dari setahun.
Laurent
0

Pesan pemberitahuan "penghentian ini pada halaman login masalah phpMyAdmin mudah diselesaikan dengan mengedit file php.ini di /etc/php/7.0/apache2/php.ini

Ubah nilai error_reporting ke:

error_reporting = ~E_DEPRECATED & E_ALL     

Secara default itu pada posisi komentar, jadi batalkan komentar dan ubahlah.

Kemudian restart Apache:

sudo systemctl restart apache2
Verma Shrikant
sumber