erro de aviso de depreciação no phpmyadmin with 16.04

11

Estou recebendo erros ao iniciar o phpmyadmin no 16.04.

Aqui estão os erros:

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)

it continues with these as well with the same backtrace as above:
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

Atualizei e verifiquei que estou com as últimas gettext e mbstring. Quaisquer pensamentos sobre a resolução

tseward
fonte
Por este tutorial diz que você tem que habilitar mcrypte mbstringphp módulos e reinicie o apache. Você fez isso?
bistoco 07/07
sim, atualizei mcrypt e mbstring e reiniciei o apache.
tseward
Eu recomendarei [baixe o pacote diretamente] ( phpmyadmin.net/downloads ) que se adapte às suas versões php / mysql, na resolução de problemas.
Bistoco

Respostas:

29

Isso depende se você é aventureiro o suficiente. Se você entendeu o erro, isso significa que seu PHP possui alguns construtores de classe antigos.

Construtor OLD Php Class

Class myclassname {

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

Novo construtor de classe Php

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

Então, o que eu fiz foi entrar /usr/share/php/php-gettext/stream.phpe /usr/share/php/php-gettext/gettext.php(ou qualquer arquivo declarado no seu erro), ir para o arquivo e mudar function myclassname()para function __construct.

A função myclassnamedeve ser idêntica à myclassnamedeclaração CLASS .

Você deverá ver cerca de 4 erros se estiver no ubuntu 16.04 com o gettext mais recente. Acabei de mudar isso e não é prejudicial ao seu sistema. É uma sintaxe de programação desatualizada e, se você atualizar no futuro, também não enfrentará nenhum problema. Eu direi que é uma edição segura.

Não é realmente uma grande mudança nem nada, apenas atualização de sintaxe. Se você instalar a partir do pacote apt-get, não terá outra opção a menos que se compile.

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

Erro de StringReader da linha 48.

Vá para a linha 52 e altere

function StringReader ($str='') {

PARA

function __construct($str='') {

Erro na linha 84 do FileReader

Vá para a linha 90 e altere

function FileReader($filename) {

para

function __construct($filename) {

Erro de linha 145 CacheFileReader

Vá para a linha 146 e altere

function CachedFileReader($filename) {

para

function __construct($filename) {

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

gettext_reader {Erro na linha 36

Acho que você entendeu agora, vá para a linha 101 e mude

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

Para

function __construct($Reader, $enable_cache = true) {
Alguém especial
fonte
2
deve-se ver: sudo nano /usr/share/php/php-gettext/gettext.phpesudo nano /usr/share/php/php-gettext/streams.php
Technico.top
os arquivos empacotados são de 20101225. Portanto, mesmo que você mantenha os backups apenas o que você faz - sempre -, você deve estar seguro de uma atualização de pacote que corrige sua correção, quaisquer atualizações devem conter essa correção por si mesmas!
Flowtron
8

Como ainda não tenho reputação suficiente para comentar a ótima resposta de Alguém Especial , responderei.

Aqui estão os comandos de uma linha que executam as edições sugeridas:

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: função gettext_reader. *: function __construct ($ Reader, $ enable_cache = true) {: '/usr/share/php/php-gettext/gettext.php
Código binário
fonte
salva-me um pouco de tempo lá ... graças homem :-)
Adam
5

Você pode usar outro PPA para phpmyadmin. Aqui está o PPA Link

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

Como é apenas uma solução temporária ou não a ideal, até que o pacote do phpmyadmin nos repositórios do ubuntu seja reconstruído.

Deepanshu Jain
fonte
1
Isso me ajudou embora
Shashank Saxena
Cuidado, este ppa não recebe nenhuma atualização há mais de um ano.
Laurent
0

Esta mensagem de aviso de descontinuação "na página de login do problema do phpMyAdmin é facilmente resolvida editando o arquivo php.ini em /etc/php/7.0/apache2/php.ini

Altere o valor error_reporting para:

error_reporting = ~E_DEPRECATED & E_ALL     

Por padrão, ele está na posição de comentário, portanto, remova o comentário e altere-o.

Em seguida, reinicie o Apache:

sudo systemctl restart apache2
Shrikant Verma
fonte