В моем случае это была проблема владельца/полномочий, потому что я вручную создал символьную ссылку в одном из моих основных веб-сайтов для указания на /usr/share/phpmyadmin/
, таким образом, я мог получить доступ к phpMyAdmin от FQDN https://myserver.mydomain.com/changedphpmyadmin вместо этого через IP только. Но делая так также измененный интернет-пользователь; просмотр через IP отличается, чем через FQDN, если это не домен по умолчанию.
Так в моем случае интернет-пользователь моего FQDN не мог читать /var/lib/phpmyadmin/blowfish_secret.inc.php
, таким образом, я просто изменил владельца этого файла от root:www-данные к web1:client1 в моем случае. Затем тест и перезагрузка nginx:
chown web1:client1 /var/lib/phpmyadmin/blowfish_secret.inc.php
nginx -t
systemctl reload nginx
Это может помочь, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase
Если при первом входе в /phpmyadmin (используя ранее настроенные MySQL имя пользователя и пароль) внизу страницы вы увидите следующее сообщение об ошибке :
ERROR: The configuration file now needs a secret passphrase (blowfish_secret)
Вам нужно добавить пароль blowfish в конфигурационный файл phpMyAdmin. Отредактируйте /etc/webapps/phpmyadmin/config.inc.php и вставьте случайный "пароль" blowfish в строку
$cfg['blowfish_secret'] = ; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Теперь он должен выглядеть примерно так:
$cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Все это предполагает, что вы уже правильно создали конфигурационный файл,
cp config.sample.inc.php config.inc.php
Я также получал сообщение об ошибке Теперь для файла конфигурации требуется секретная кодовая фраза (blowfish_secret)
, когда в файле конфигурации было $ cfg ['blowfish_secret']
набор. Я использую CentOS v6 и установил PHPMyAdmin из репозитория EPEL, используя yum
. Я настраиваю nginx для размещения PHPMyAdmin, а пакет PHPMyAdmin (по умолчанию) настроен для работы с Apache. Файл конфигурации находится по адресу /etc/phpMyAdmin/config.inc.php
(вы можете проверить CONFIG_DIR
в библиотеки / vendor_config.php
, чтобы найти, где находится ваша конфигурация находится файл), и, если вы заметили, пользователь является пользователем root, а группа - apache
для файла и каталога. Это приводит к тому, что PHPMyAdmin не может прочитать файл конфигурации. Чтобы решить эту проблему, используйте chown
, чтобы изменить группу на ту, в которой работает ваш веб-сервер (в моем случае это группа nginx
). Вам нужно будет изменить владельца как для каталога, так и для файла конфигурации (как показано ниже).
chown -R root.nginx /etc/phpMyAdmin/
Обратите внимание, что вам может потребоваться сделать это еще раз, если PHPMyAdmin обновлен. У вас также могут возникнуть проблемы с разрешениями, если включен SELinux.
Выполните следующие шаги:
1) Перейдите в / etc / httpd / conf .d / phpmyadmin.conf
2) Перейдите в / usr / share / phpmyadmin
, откройте conf.inc.php
3) Добавьте значение для blowfish_secret, например -
$cfg['blowfish_secret'] = 'mrgQxxk8C-y}U7ji2BO9o5jLf}Qhe-BI[~6SUa';/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
4) Сохранить и выйти.
5) Очистить кеш браузера
6) Попробуйте получить доступ по URL: http://yourserver.com/phpmyadmin/ index.php
В дополнение к проверке разрешений, выполняемых для группы http (веб-сервер), стоит проверить, что запись open_basedir в php.ini включает каталог, в котором находится config.inc.php если он установлен. Это помогло мне решить эту проблему.
Перейдите в папку phpmyadmin> найдите ' lint.php ' и установите = 'require_once' libraries / config.inc.php ';
Это определенно решит вашу проблему.
Если это решит вашу проблему, то спасибо мне.
Последняя версия phpmyadmin не создает файл конфигурации после установки. Доступен пример файла конфигурации и фактический файл конфигурации по умолчанию, расположенный глубже в дереве папок.
Обратите внимание, что секрет blowfish должен иметь длину ровно 32 символа, иначе он не будет применяться.
Скопируйте файл примера, чтобы создать фактический используемый файл, который отменяет значения по умолчанию. Каталог, показанный ниже, является просто примером, поэтому используйте каталог / путь для вашей установки phpmyadmin, которая применяется.
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Вверху файла находится переменная blowfish, которую необходимо установить. Добавьте 32 случайных символа к значению переменной и затем сохраните файл.
$cfg['blowfish_secret'] = 'KLS$vbc91Lkja$vc@opGbxA278EWopdc';
Я не читал никого, кто упоминал бы правило 32 символов в этой цепочке. Возможно, это была проблема OP.
У меня было
define('CONFIG_DIR', '/etc/phpmyadmin');
в /usr/share/phpmyadmin/libraries/vendor_config.php.
Это должно быть:
define('CONFIG_DIR', '/etc/phpmyadmin/');
(добавлена косая черта)
В моем случае Я обновил PHPMyAdmin вручную, потому что версия в репо плохо себя ведет с PHP 7.2. Я выполнил все действия онлайн, но сделал ошибку в /usr/share/phpmyadmin/libraries/vendor_config.php.
Строка: define ('CONFIG_DIR', '/ etc / phpmyadmin /');
отсутствовал /
в конце. Я выяснил это вручную, отредактировав библиотеки / классы / Config.php и в начале загрузки функции ($ source)
я сделал die ($ source)
. Там я увидел, что исходный код конфигурации неверен.
Если вы редактировали файл здесь: /usr/share/phpmyadmin/config.inc.php
И проблема не решена, есть вероятность, что вы редактируете неправильный файл. если вы запустите whereis phpmyadmin -l
, это должно дать вам список местоположений phpmyadmin на сервере.
Я сказал, что вы, возможно, редактируете неправильный файл, потому что если вы устанавливаете свой phpmyadmin в var / www / phpmyadmin
или var / www / html / phpmyadmin
, вам нужно для редактирования phpmyadmin / config.sample.inc.php
.
Итак, попробуйте следующее:
$ cd var/www/html/phpmyadmin
$ cp config.sample.inc.php config.inc.php
Отредактируйте это по-своему, выйдите из системы и войдите в phpmyadmin, все будет в порядке.
Просто хочу поделиться этим. put
$cfg['blowfish_secret'] = 'заполните это';
Перейдите в папку phpmyadmin и найдите lint.php
и установите
require_once 'common.inc.php';
Добавление пароля с 32 символами в скобках. $cfg['blowfish_secret'] = ''; помог мне найти другой файл в /usr/share/phpmyadmin/libraries/config.default.php
Используя debian 9 + ispconfig, вручную установил phpmyadmin
.Для меня отсутствует файл config.inc.php
.
Скопируйте его из config.sample.inc.php
или создайте новый файл:
<?php
/******** The Solution *******/
$cfg['blowfish_secret'] = 'type a 32 char passphrase';
/****************************/
$i = 0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
Затем дважды обновите страницу PhpMyAdmin, потому что это проблема с файлами cookie.