phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

Erros do phpMyAdmin (contagem, blowfish, etc.) após a atualização do php7.2 no Ubuntu 16

Atualize manualmente o phpMyAdmin no Ubuntu


No momento de escrever isso, a versão do phpMyAdmin disponível no Ubuntu gerenciador de pacotes (4.5.4) não suporta totalmente o php7.2, o que leva ao irritante aviso count(). A solução é atualizar para a versão mais recente do phpMyAdmin , que é 4.7.9 no momento da escrita.

O pacote Ubuntu está por trás. Existe um phpMyAdmin PPA , mas também está atrás:

“Observação:este repositório está um pouco atrasado, pois luto para encontrar tempo para atualizá-lo para a série 4.7.”

Felizmente, podemos atualizar manualmente da versão mais antiga.

As etapas básicas são:
  1. Faça uma cópia de backup da instalação atual
  2. Baixe e extraia a versão mais recente do phpMyAdmin
  3. Modifique o arquivo vendor_config.php para o diretório apropriado para o Ubuntu
  4. Adicione uma string aleatória mais longa para resolver mensagens de erro de blowfish e permitir a autenticação de cookies adequada

Esses comandos de terminal devem fazer o trabalho (use sudo se aplicável):
mv /usr/share/phpmyadmin /usr/share/phpmyadmin_old
mkdir /usr/share/phpmyadmin
mkdir /var/downloads
cd /var/downloads
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.9/phpMyAdmin-4.7.9-all-languages.tar.gz
tar -xf phpMyAdmin-4.7.9-all-languages.tar.gz -C /usr/share/phpmyadmin --strip-components=1

(Opcional ) Substitua a linha wget pela versão mais recente ou formato preferido de sua escolha. Visite https://www.phpmyadmin.net/downloads/ .

Resolva a mensagem de erro do baiacu


Neste ponto, você provavelmente receberá um erro de baiacu ao usar o phpMyAdmin . Para resolver isso, você deve atualizar um arquivo de configuração específico:
  1. Abra vendor_config.php em /usr/share/phpmyadmin/libraries/vendor_config.php
  2. Na linha 38 ou próximo a ela, substitua define('CONFIG_DIR', ''); com define('CONFIG_DIR', '/etc/phpmyadmin/'); e salve o arquivo.

Quando terminar, as linhas 33-38 de vendor_config.php deve ser algo como:
/**
 * Directory where configuration files are stored.
 * It is not used directly in code, just a convenient
 * define used further in this file.
 */
define('CONFIG_DIR', '/etc/phpmyadmin/');

Neste ponto, o phpMyAdmin pode funcionar sem erros, mas você pode precisar adicionar comprimento adicional à string de configuração blowfish_secret .
  1. Abra o arquivo /var/lib/phpmyadmin/blowfish_secret.inc.php .

Você deveria ver:
<?php
$cfg['blowfish_secret'] = 'Something Short';
  1. Adicione aleatoriedade adicional ao $cfg['blowfish_secret'] string, pelo menos 40 caracteres e até mais pode ser melhor (eu uso uma string com até 100 caracteres).

Por exemplo (não use isso, apenas um exemplo):
$cfg['blowfish_secret'] = 'A much longer random string 7NfSjYezwmwGCfGDuDO7uWn4ESw2sCFCym1RatPjGCfGCym1RatPjGCfG';
  1. Salve o arquivo.

Neste ponto, atualize o phpMyAdmin (no seu navegador) e faça login novamente . Tudo deve funcionar corretamente agora.

Se desejar, você pode remover a cópia de backup da versão antiga do phpMyAdmin com:
rm -rfv /usr/share/phpmyadmin_old

Documentação adicional

Para referência, a seguir estão trechos do documentação oficial do phpMyAdmin sobre como atualizar manualmente para a versão mais recente (isto não Específico do Ubuntu):

Aviso

Nunca extraia a nova versão sobre uma instalação existente do phpMyAdmin, sempre remova primeiro os arquivos antigos mantendo apenas a configuração.

Desta forma, você não deixará código antigo que não funciona mais no diretório, o que pode ter sérias implicações de segurança ou causar várias quebras.

E:

A atualização completa pode ser realizada em algumas etapas simples:

  1. Baixe a versão mais recente do phpMyAdmin emhttps://www.phpmyadmin.net/downloads/ .

  2. Renomeie a pasta phpMyAdmin existente (por exemplo, para phpmyadmin-old).

  3. Descompacte o phpMyAdmin recém-carregado para o local desejado (por exemplo, phpmyadmin).

  4. Copie config.inc.php` do local antigo (phpmyadmin-old) para o novo (phpmyadmin).

  5. Teste se tudo funciona corretamente.

  6. Remova o backup da versão anterior (phpmyadmin-old).