phpmyadmin não está funcionando chrome show error 500 firefox não mostra nada

0

estou usando o Ubuntu 16.04 ramo de desenvolvimento LTS. Eu instalei recentemente o mysql, apache2 e phpmyadmin. Quando eu digito localhost/phpmyadmin na barra de endereços no firefox, simplesmente não mostra nada enquanto o chrome dá 500 de erro no servidor. Quando vejo o apache error.log ele diz

[Fri Jan 29 16:39:11.833839 2016] [:error] [pid 2795] [client 127.0.0.1:58438] PHP Fatal error:  require(): Failed opening required '/usr/share/php//Crypt/Random.php' (include_path='.') in /usr/share/phpmyadmin/libraries/session.inc.php on line 16

Mas Random.php existe na mesma localização que o erro indica failed opening Estou usando

  • ramo de desenvolvimento do Ubuntu 16.04
  • mysql Ver 14.14 Distrib 5.6.28,
  • Apache / 2.4.18 (Ubuntu)
  • PHP 5.6.17-3ubuntu1 (cli)

* por favor, ignore os erros gramaticais.

    
por user137124 29.01.2016 / 13:22

3 respostas

1

Parece que o Random.php do phpseclib foi alterado. Eu fiz uma correção rápida com a mudança:

$_SESSION[' PMA_token '] = bin2hex(phpseclib\Crypt\Random::string(16));

na linha 116 e 135 com

$_SESSION[' PMA_token '] = bin2hex(crypt_random_string(16));

no arquivo /usr/share/phpmyadmin/libraries/session.inc.php

Isso deve ser corrigido por enquanto, até que os desenvolvedores do phpmyadmin tenham uma solução.

Edit 30-01-2016: Os desenvolvedores da PMA corrigiram isso. Não há necessidade de alterar o arquivo manualmente.

    
por jancoow 29.01.2016 / 23:14
0

A resposta de user185719 me ajudou apenas parcialmente, porque o erro relatado persistiu: session.inc.php não pôde incluir Random.php . Chamar file_exists () no Random.php sempre retorna false, enquanto não há problemas de permissão, não há safe_mode , então eu realmente não Entenda porque isso não funciona como esperado. Eu tive que fazer a seguinte solução para fazer o phpmyadmin funcionar (pelo menos por enquanto, até que os caras do phpmyadmin consertem o problema):

  • copie o seguinte conteúdo do arquivo /usr/share/php/Crypt/Random.php em /usr/share/phpmyadmin/libraries/session.inc.php

    define('CRYPT_RANDOM_IS_WINDOWS', strtoupper(substr(PHP_OS, 0, 3)) === 'WIN');
    
    function crypt_random_string($length) {
        if (CRYPT_RANDOM_IS_WINDOWS) {
            ....
        }
    }
    

Depois de copiar o código acima, a resposta de user185719 deve corrigir o problema. Meu sistema:

% bl0ck_qu0te%     
por Zoltán Harsányi 30.01.2016 / 13:26
0

Por alguma razão, o phpmyadmin não é capaz de ler o arquivo Crypt / Random.php, se colocado na pasta / usr / share / php. Além disso, eu tentei também / usr / local / share / php5 com o mesmo resultado. Finalmente copiei toda a pasta Crypt de / usr / share / php para / usr / share / phpmyadmin / libraries /

cp -r /usr/share/php/Crypt /usr/share/phpmyadmin/libraries/

e modificado /usr/share/phpmyadmin/libraries/session.inc.php para incluir Crypt / Random.php de lá.

#require PHPSECLIB_INC_DIR . '/Crypt/Random.php';
require ("/usr/share/phpmyadmin/libraries/Crypt/Random.php");

Funcionou, então eu tenho o segundo erro, descrito por jancoow. Sua correção também me ajudou a resolvê-lo (dois lugares - linha 117 e 136 no meu caso - criando uma sessão e destruindo-a).

Então, finalmente a questão permanece - por que esses arquivos não podem ser acessados a partir das pastas / usr / share / php ou / usr / local / share / php5? Não há necessidade de adicionar, que todos os direitos de acesso estão OK.

Minha configuração é

  • Desenvolvimento do Kubuntu 16.04

  • phpmyadmin 4.5.4.-1

  • apache2-bin 2.4.18-1ubuntu

  • libapache2-mod-php5 5.6.16 + dfsg-1ubuntu1

por Marek 02.02.2016 / 00:23