Instalei o phpMyAdmin, mas não consigo abri-lo em nenhum navegador: recebo um redirecionamento 301 (*) se procurar http://localhost:8080/phpmyadmin
. Se eu adicionar um /
no final dos endereços, recebo um status de erro 500 .
(*) capturado usando o Wireshark. Se eu usar o netcat do terminal no mesmo host, recebo um redirecionamento 301 para um endereço diferente .
O ambiente é uma VM que construí para fins de desenvolvimento / teste, onde instalei um ambiente LEMP (Linux / Nginx / MySQL / PHP). É uma instalação limpa do CentOS 6 64bit executando como convidado em um host Ubuntu 12.04 64bit. A VM está sendo executada no modo NAT com encaminhamento de porta. Posso abrir http://localhost:8080
na máquina convidada e ver a página de boas-vindas do nginx. Também posso abrir uma página phpinfo , então sei que o PHP está sendo executado.
Instalei os pacotes nginx, MySQM, PHP e phpMyAdmin, cada um separadamente. Estou usando as configurações padrão do phpMyAdmin. Após instalar o MySQL, executei o mysql_secure_installation
comando e, entre outras opções, desabilitei o acesso root remoto.
Aqui estão meus arquivos de configuração:
fonte
Respostas:
Existem várias causas que me impedem de acessar o phpMyAdmin:
mbstring
O erro 500 gera uma mensagem
PHP Fatal error: Call to undefined function mb_detect_encoding() in /usr/share/php/gettext/gettext.inc on line 177
no arquivo/var/log/php-fpm/www-error.log
. De acordo com um comentário em http://www.php.net/manual/en/mbstring.installation.php , tentei instalar ophp-mbstring
pacote, mas ele já estava presente.Reiniciando o
php-fpm service
resolvido o erro 500.sessões php
Depois de resolver o erro anterior, recebi o seguinte erro:
/etc/phpmyadmin/config.inc.php
teve a linhamas a
session.save_path
variável do PHP está definida para a/var/lib/php/session
pasta inexistente .Criando uma pasta com permissões apropriadas resolveu esse erro, posso fazer o login corretamente.
redirecionamento de barra final
Se eu tentar acessar qualquer endereço neste servidor sem uma barra final no final da URL, o nginx adicionará uma barra final e removerá sua
:8080
parte. Não acontece se eu deixar a barra à direita.(ex .:
http://localhost:8080/example
será redirecionado parahttp://localhost/example/
. O fato de eu ter phpMyAdmin correndo tanto na VM e na máquina host acrescentou mais confusão como eu iria ver o diálogo de login phpMyAdmin, mas o destino errado).Parece ser um erro comum do nginx . Pesquisei no Google e tentei várias soluções sem sucesso. Se eu encontrar uma solução para o meu caso, atualizarei esta resposta.
fonte
Logins raiz devem ser permitidos no
/etc/phpmyadmin/config.inc.php
arquivo de configuração.Adicione a seguinte linha:
fonte
true
. Eu não o configurei como false e não está presente no arquivo de configuração.Verifique seu
/var/log/nginx/error.log
para ver o que o erro 500 diz.Parece que você está executando duas configurações (uma na porta 80 e outra na 8080) que podem estar em conflito.
fonte