16.04 ile phpmyadmin'de “Kullanımdan Kaldırılma Bildirimi” hatası


11

Ben 16.04 phpmyadmin başlattığınızda hata alıyorum:

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)

Bunlarla da yukarıdaki ile aynı geri izi ile devam ediyor:

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

En son gettext ve mbstring'de olduğumu güncelledim ve doğruladım. Çözüme ilişkin düşünceleriniz var mı?


On Bu eğitimde size etkinleştirmek zorunda olduğunu söylüyor mcryptve mbstringphp modülleri ve apache yeniden başlatın. Onu yaptınmı?
bistoco

evet mcrypt ve mbstring'i güncelledim ve apache'yi yeniden başlattım.
tseward

Php / mysql sürümlerinize uyan [paketi doğrudan indir] ( phpmyadmin.net/downloads ) sorununu öneriyorum .
bistoco

Yanıtlar:


29

Bu, yeterince maceracı olup olmadığınıza bağlıdır. Hatayı anlarsanız, PHP'nizin bazı eski sınıf yapıcıları olduğu anlamına gelir.

ESKİ Php Sınıfı Yapıcı

Class myclassname {

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

Yeni Php Sınıfı Oluşturucu

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

Yani ne yaptığını gitmek oldu /usr/share/php/php-gettext/stream.phpve /usr/share/php/php-gettext/gettext.php(ya da her türlü dosya yanlışlıkla belirtilen), dosya ve değişime gitmek function myclassname()için function __construct.

İşlev myclassnameSINIF myclassnamebildirimi ile aynı olmalıdır .

En son gettext ile ubuntu 16.04 kullanıyorsanız yaklaşık 4 hata görmelisiniz. Sadece değiştiriyorum ve sisteminiz için zararlı değil. Bu eski bir programlama sözdizimidir ve gelecekte yükseltme yaparsanız da herhangi bir sorunla karşılaşmazsınız. Güvenli bir düzenleme olduğunu söyleyeceğim.

Gerçekten büyük bir değişiklik ya da herhangi bir şey değil, sadece sözdizimi güncellemesi. Apt-get paketinden yüklerseniz kendinizi derlemediğiniz sürece gerçekten başka seçeneğiniz yoktur.

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

Satır 48 StringReader Hatası.

Satır 52'ye gidin ve değiştirin

function StringReader ($str='') {

TO

function __construct($str='') {

Satır 84 Dosya Okuyucu Hatası

Satır 90'a gidin ve değiştirin

function FileReader($filename) {

için

function __construct($filename) {

Satır 145 CacheFileReader hatası

146. satıra gidin ve değiştirin

function CachedFileReader($filename) {

için

function __construct($filename) {

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

Satır 36 gettext_reader {hatası

Sanırım şimdi özü alıyorsun, 101. satıra git ve değiştir

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

için

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

2
görmek gerekir: sudo nano /usr/share/php/php-gettext/gettext.phpvesudo nano /usr/share/php/php-gettext/streams.php
Technico.top

Yedekleri tutmak sadece yaptığınız şey olsa da - her zaman - düzeltmenizi gideren bir paket güncellemesinden güvenli olmalısınız, herhangi bir güncelleme bu düzeltmeyi kendileri içermelidir!
flowtron

8

Özel Birinin harika cevabı hakkında henüz yorum yapmak için yeterli üne sahip olmadığım için bunun yerine cevap vereceğim.

Önerilen düzenlemeleri gerçekleştiren tek satırlı komutlar şunlardır:

sed -ri.bak 's: function StringReader. *: işlev __construct ($ str = \ x27 \ x27) {:' /usr/share/php/php-gettext/streams.php
sed -ri 's: işlev FileReader. *: işlev __construct ($ dosyaadı) {:' /usr/share/php/php-gettext/streams.php
sed -ri 's: işlev CachedFileReader. *: işlev __construct ($ dosyaadı) {:' /usr/share/php/php-gettext/streams.php
sed -ri.bak 's: işlev gettext_reader. *: işlev __construct ($ Reader, $ enable_cache = true) {:' /usr/share/php/php-gettext/gettext.php

beni orada biraz zaman kurtardı ... teşekkürler adam :-)
Adam

5

Ne olduğunu phpmyadmin.Here için başka PPA kullanabilirsiniz PPA Bağlantı

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

Sadece geçici bir çözüm olduğundan veya optimal bir çözüm olmadığından, ubuntu depolarındaki phpmyadmin paketi yeniden oluşturuluncaya kadar.


1
Bu bana yardımcı oldu
Shashank Saxena

Dikkatli olun, bu ppa bir yıldan uzun süredir herhangi bir güncelleme almamıştır.
Laurent

0

Bu kullanımdan kaldırma bildirimi "phpMyAdmin sorununun giriş sayfasındaki ileti, php.ini dosyası düzenlenerek kolayca çözülebilir. /etc/php/7.0/apache2/php.ini

Error_reporting değerini şu şekilde değiştirin:

error_reporting = ~E_DEPRECATED & E_ALL     

Varsayılan olarak yorum pozisyonundadır, bu yüzden onu açın ve değiştirin.

Ardından Apache'yi yeniden başlatın:

sudo systemctl restart apache2
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.