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

10

Estou recebendo erros quando inicio o phpmyadmin em 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

Eu atualizei e verifiquei que estou no gettext e no mbstring mais recentes. Qualquer pensamento sobre como resolver

    
por tseward 07.07.2016 / 22:58

4 respostas

26

Isso depende de você ser ou não suficientemente aventureiro. Se você entender o erro, isso significa que seu PHP possui alguns construtores de classe antigos.

Construtor de classe PHP antigo

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 em /usr/share/php/php-gettext/stream.php e /usr/share/php/php-gettext/gettext.php (ou qualquer arquivo declarado no seu erro), vá para o arquivo e altere function myclassname() para function __construct .

A função myclassname deve ser idêntica à declaração CLASS myclassname .

Você deve ver cerca de 4 erros se você estiver no Ubuntu 16.04 com o gettext mais recente. Eu apenas mudo isso e não é prejudicial ao seu sistema. É uma sintaxe de programação desatualizada e, se você fizer upgrade no futuro, também não enfrentará nenhum problema. Eu vou dizer que é uma edição segura.

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

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

Erro LineReader de 48 linhas.

Vá para a linha 52 e mude

function StringReader ($str='') {

PARA

function __construct($str='') {

Erro do FileReader da linha 84

Vá para a linha 90 e mude

function FileReader($filename) {

para

function __construct($filename) {

Erro de CacheFileReader da linha 145

Vá para a linha 146 e mude

function CachedFileReader($filename) {

para

function __construct($filename) {

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

Linha 36 gettext_reader { error

Eu acho que você tem a essência agora, vá para a linha 101 e mude

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

Para

function __construct($Reader, $enable_cache = true) {
    
por Someone Special 09.07.2016 / 17:16
6

Como ainda não tenho reputação suficiente para comentar a excelente resposta de Alguém Especial , responderei em seu lugar.

Aqui estão os comandos de uma linha que realizam 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 's:function gettext_reader.*:function __construct($Reader, $enable_cache = true) {:' /usr/share/php/php-gettext/gettext.php
    
por Binary Code 02.03.2018 / 21:57
5

Você pode usar outro PPA para phpmyadmin. Aqui está 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 ótima, até que o pacote do phpmyadmin em repositórios do Ubuntu seja reconstruído.

    
por Deepanshu Jain 14.10.2016 / 05:26
0
A mensagem "Este aviso de depreciação" na página de login do problema do phpMyAdmin é facilmente resolvido 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
    
por 17.07.2018 / 15:27