Como atualizar o PHPmyAdmin [revisitado]

28

Esta pergunta foi feita anteriormente: How to upgrade PHPmyAdmin

A resposta dada foi

sudo apt-get update
sudo apt-get install phpmyadmin

ou

sudo apt-get update
sudo apt-get upgrade

A versão do phpmyadminincluído no apt-get é 4.5.4, lançada em 28 de janeiro de 2016.

Em resposta a esta pergunta, uma resposta foi usar o arquivo phpMyAdmin, que oferece os seguintes comandos.

sudo add-apt-repository ppa:phpmyadmin/ppa
sudo apt-get update

No meu caso, isso atualizou muitas coisas, mas, não especificamente phpmyadmin, eu precisava do comando adicional

sudo apt-get update phpmyadmin

Este conseguiu com sucesso após a versão 4.9.0.1que foi lançado em 2019.

No momento da redação deste documento, parece que é necessário fazer o download e copiar manualmente, usando as instruções vagas de docs.phpmyadmin.net .

Existe um repositório mais atual do phpmyadminque o PPA ou é necessária uma instalação manual?

Dwight Wilbanks
fonte
2
@Rinzwind, está atualmente na versão 4.5.4 e eu gostaria que fosse a versão atual da 4.7.3, como está isso e a atualização?
Dwight Wilbanks
Se você não consegue descobrir como instalar o pma a partir dos tarballs, realmente não deveria estar no negócio de gerenciar um servidor Web ... -1 para todos aqui.
fkraiem 27/09

Respostas:

36

@Photo Larry praticamente acertou a unha na cabeça! Vou dar uma resposta com base na dele que será fácil de entender e seguir.

  • Seu primeiro passo é instalar PMA (phpMyAdmin) a partir do repo oficial Ubuntu: apt-get install phpmyadmin.
  • Em seguida, cd para o diretório usr / share: cd /usr/share.
  • Em terceiro lugar, remover o diretório phpMyAdmin: rm -rf phpmyadmin.
  • Agora precisamos baixar a última versão PMA em nosso sistema (note que você precisa wget: apt-get install wget): wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.zip" Deixe-me explicar os argumentos desse comando, -P define o caminho e "o link.zip" é atualmente (7/17/18 ) a versão mais recente do PMA. Você pode encontrar esses links AQUI .
  • Para este próximo passo que você precisa de descompactação ( apt-get install unzip): unzip phpMyAdmin-4.8.2-english.zip. Acabamos de descompactar o PMA, agora o moveremos para o seu lar final.
  • Vamos usar o cpcomando (copy) para mover nossos arquivos! Observe que temos que adicionar o -rargumento, pois esta é uma pasta. cp -r phpMyAdmin-4.8.2-english phpmyadmin.
  • Agora é hora de limpar: rm -rf phpMyAdmin-4.8.2-english.

Continue lendo!

Agora você pode perceber dois erros depois de fazer login no PMA.

the configuration file now needs a secret passphrase (blowfish_secret). phpmyadmin
The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.

No entanto, esses problemas são relativamente fáceis de corrigir. Para a primeira edição, tudo o que você precisa fazer é pegar o editor de sua escolha e editar, /usr/share/phpmyadmin/config.inc.phpmas há um problema, nós o removemos! Tudo bem, tudo o que você precisa fazer é: cd /usr/share/phpmyadmin& cp config.sample.inc.php config.inc.php.

Exemplo de entrada variável secreta do phpMyAdmin Blowfish:

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = '{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V'; 
/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Agora salve e feche o arquivo.

  • Agora vamos criar um diretório tmp para PMA: mkdir tmp& chown -R www-data:www-data /usr/share/phpmyadmin/tmp. O último comando permite que o servidor da web Apache possua o diretório tmp e edite seu conteúdo.

EDIT 12 dez 2018

Você não quer que alguém roube seus cookies, não é?

Fui informado de que o https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator causa erros nas versões mais antigas do PMA. No entanto, a principal razão que eu desencorajar você a sites usam como este é porque você não tem idéia se eles usam um PRNG fraco (Pseudo-Random Number Generator) (por exemplo rand(), mt_rand()e lcg_value()) ou uma das funções "baralhar" (por exemplo str_shuffle(), shuffle(), array_rand()) Como tal, criei minha própria ferramenta para esse fim. Ele gera uma cadeia de 32 caracteres criptograficamente segura que você pode usar sem se preocupar com segurança ou erros! Página de manual do PHP para a função que eu uso para gerar a aleatoriedade http://php.net/manual/en/function.random-int.php . Substituí o link antigo por este:https://www.motorsportdiesel.com/tools/blowfish-salt/pma/ .

CRIMSON 501
fonte
Nice gonts! Eu os segui com algumas etapas laterais: a) em vez de remover a versão antiga, eu a renomeia; b) pode ser útil criar um link simbólico phpmyadmin, que pode ser facilmente alternado entre várias versões.
AntonK
Copiei sua resposta aqui, pois acho que é a melhor opção. Se você quiser fazer sua própria resposta, me diga e eu removerei a minha.
PhoneixS
Está bem. Muito obrigado pelo crédito e pela decência de me informar! @PhoneixS
CRIMSON 501
Você também deve remover o arquivo ZIP baixado como parte da limpeza
IvanRF
9

Eu apenas tive que fazer isso por causa de problemas com o php7.2 e por receber o erro count(): Parameter must be an array or an object that implements Countable.

A versão do apt era 4.5.4 e o ppa não possui as correções para o php7.2. Minha solução foi baixar a versão mais recente de https://www.phpmyadmin.net/ e copiar os arquivos para /usr/share/phpmyadmin.

Jason Houle
fonte
1
trabalhou para mim como um encanto
Norman Bird
OK, muito melhor agora! O Debian (e Ubuntu) deve atualizar seus pacotes. Ps. Estou rodando o PHP 7.3.
danger89
3

Como mencionado acima, você precisa atualizar os arquivos manualmente, mas procurei por uma hora para descobrir onde eles estavam localizados (/ usr / share) e continuei vendo que ele seria colocado em / var / www / html, que está incorreto . Se você instalou o software com o apt-get install phpmyadmin após adicionar o repositório acima do qual afirma ser atual, pelo menos você obtém as libs do php7.2 necessárias. Então você precisa instalar a NOVA versão (4.8) no / usr / share / phpmyadmin, acessando o arquivo / usr / share e clonando o git: git clone https://github.com/phpmyadmin/phpmyadmin.git (Eu fiz rm -rf phpmyadmin primeiro) apenas para ter certeza de que nenhum código antigo foi deixado. Então, ao entrar na interface da web .... você vê a versão mais recente agora sendo usada. Certifique-se de cd para phpmyadmin e execute: update do compositor --no-dev Isso obtém as bibliotecas adicionadas necessárias. Isso instala 4.9.0-dev, que roda muito bem e eu estou executando o Ubuntu 16.04.4. Obrigado, espero que isso ajude alguém a economizar tempo

Foto Larry
fonte
Obrigado !, isso salvou o meu dia! mas eu decidi usar o estável github.com/blackmambano5/phpmyadmin.git, esta é a versão 4.8.1 e tudo funciona!
Gfivehost
Obrigado, isso ajudou. Eu instalei do zip, não do Github, não há muita diferença lá. Sugiro editar a pergunta para dividir o parágrafo grande em uma lista de etapas.
pgr 06/07/19
Melhor buscar o mais recente estável versão do git como este: git clone -b STABLE https://github.com/phpmyadmin/phpmyadmin.git.
Christopher K.
2

Você pode simplesmente instalar manualmente a versão mais recente do phpmyadmin.

Acesse https://www.phpmyadmin.net/downloads e baixe a versão mais recente, mas verifique se você possui a versão compatível com PHP e MySQL, conforme listado no site.

Extraia-o para a pasta pública do servidor e edite o config.inc.phparquivo. Verifique se você auth_typeé cookiee hosté o que seu host é. Essa configuração fará com que você digite seu nome de usuário e senha ao fazer login.

/*Authentication type*/
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
Timothy
fonte
2

Eu usaria o arquivo phpMyAdmin se você realmente precisa da versão mais recente. Lembre-se de que existe uma dependência (você também precisa de um php mais recente):

Descrição do PPA

Pacotes phpMyAdmin mais recentes - https://www.phpmyadmin.net/ . Baseado nos pacotes disponíveis no Debian.

Existem algumas mudanças notáveis:

Rinzwind
fonte
2
Eu acho que ele perguntou como atualizá-lo para a versão mais recente, não onde a instalação pode ser baixada.
Tarik
1
Em julho de 2018, esse PPA ainda está em 4.6.6 (com o bug) enquanto o phpMyAdmin está em 4.8 (sem o bug). Parece que o PPA não é mais mantido?
Steve
Apenas usei este PPA - 4.9.0, não muito ruim - a última é 4.9.1. Simplifica a vida. Teve que atualizar o PHP para 7.3
nrapopor
0

Eu recomendaria usar o Docker para executar o phpmyadmin mais recente. É simples de configurar e todas as dependências são gerenciadas automaticamente e não interagem com a instalação local. Ele usa 25 MB de RAM, por isso também não é um porco da memória.

Muito fácil de executar o phphmyadmin mais recente, em qualquer plataforma.

https://docs.phpmyadmin.net/en/latest/setup.html#installing-using-docker

Peterdk
fonte
0

A resposta de Crimson501 é perfeita, a menos que você esteja no Ubuntu, para corrigir o problema de arquivo blowfish e tmp no ubuntu, você precisa modificar o seguinte arquivo, para referenciar a configuração existente e o diretório tmp que o ubuntu usa.

Usando seu editor de arquivos de texto favorito, modifique:

/usr/share/phpmyadmin/libraries/vendor_config.php
find TEMP_DIR
modify './tmp/' to '/var/lib/phpmyadmin/tmp/'
find CONFIG_DIR
modify '' to '/etc/phpmyadmin/'
save the changes

Agora, quando você voltar e atualizar a página, os erros desaparecerão.

user373310
fonte
-1

Seguindo as instruções encontradas aqui , criei este script simples para atualizar o PHPMyAdmin para a última versão estável :

echo
echo "Backing up"
mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak

echo "Getting lastest PHPMyAdmin version..."
mkdir -p /usr/share/phpmyadmin/
cd /usr/share/phpmyadmin/
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
tar xzf phpMyAdmin-latest-all-languages.tar.gz
mv phpMyAdmin-*/* /usr/share/phpmyadmin

echo "Updating vendor_config"
sed -i -r "s/('TEMP_DIR'\s*,)[^\)]*/\1 '\/var\/lib\/phpmyadmin\/tmp\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php
sed -i -r "s/('CONFIG_DIR'\s*,)[^\)]*/\1 '\/etc\/phpmyadmin\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php

echo "Cleaning up..."
rm /usr/share/phpmyadmin/phpMyAdmin-latest-all-languages.tar.gz
rm -rf /usr/share/phpmyadmin/phpMyAdmin-*
rm -rf /usr/share/phpmyadmin.bak

echo "Done!"
echo
garsax
fonte