phpmyadmin не рабочая хромовая выставочная ошибка 500 шоу Firefox ничто

Я использую ответвление разработки ubuntu 16.04 LTS. Я недавно установил mysql, apache2 и phpmyadmin. Когда я вхожу localhost/phpmyadmin в строке поиска в Firefox это просто ничего не показывает, в то время как хром дает 500 ошибок сервера. Когда я вижу апачский error.log, это говорит

[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

Но Random.php существуйте в том же месте, которое говорит ошибка failed opening Я Использую

  • ответвление разработки человечности 16.04
  • mysql Ver 14.14 Distrib 5.6.28,
  • Apache/2.4.18 (Ubuntu)
  • PHP, 5.6.17-3ubuntu1 (cli)

* проигнорируйте ошибки грамматики.

0
задан 1 February 2016 в 15:43

3 ответа

Похоже, что Random.php от phpseclib изменился. Я сделал быструю фиксацию с изменением:

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

на строке 116 и 135 с

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

в файле/usr/share/phpmyadmin/libraries/session.inc.php

Это должно зафиксировать его на данный момент, пока phpmyadmin devs не идут с решением.

Редактирование 30.01.2016: PMA devs зафиксировал это. Никакая потребность в изменении файла вручную.

1
ответ дан 29 September 2019 в 13:25

По некоторым причинам phpmyadmin не может считать файл Crypt/Random.php, если помещено в/usr/share/php папку. Кроме того, я попробовал также/usr/local/share/php5 тем же результатом. Наконец я скопировал целую папку Crypt с/usr/share/php в/usr/share/phpmyadmin/libraries /

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

и изменил/usr/share/phpmyadmin/libraries/session.inc.php для включения Crypt/Random.php оттуда.

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

Это работало, затем у меня есть вторая ошибка, описанная jancoow. Его фиксация помогла мне также решить его (два места - строка 117 и 136 в моем случае - создание сессии и уничтожение его).

Поэтому наконец вопрос остается - почему к тем файлам нельзя получить доступ от/usr/share/php или/usr/local/share/php5 папок? Никакая потребность добавить, что все права доступа в порядке.

Моя установка

  • разработка Kubuntu 16.04

  • phpmyadmin 4.5.4.-1

  • apache2-мусорное-ведро, 2.4.18-1ubuntu

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

0
ответ дан 29 September 2019 в 13:25

ответ user185719 помог мне только частично, потому что, сохраненная ошибка, о которой сообщают: session.inc.php не смог включать Random.php. Вызов file_exists () на Random.php всегда возвращает false, в то время как нет никаких проблем разрешения, никакого safe_mode, таким образом, я действительно не понимаю, почему это не работает как ожидалось. Я должен был сделать следующее обходное решение для получения работы phpmyadmin (по крайней мере на данный момент, пока парни в phpmyadmin не решают проблему):

  • скопируйте следующее содержание файла/usr/share/php/Crypt/Random.php в/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) {
            ....
        }
    }
    

После копирования кода выше, ответ user185719 должен устранить проблему. Моя система:

Linux Mint 17.3 Rosa
PHP 5.6.17-3
Apache 2.4.18
PhpMyadmin 4.5.4-1

0
ответ дан 29 September 2019 в 13:25

Другие вопросы по тегам:

Похожие вопросы: