После установки phpmyadmin я все время получаю сообщение об ошибке «Теперь для файла конфигурации требуется секретная кодовая фраза». Я установил кодовую фразу, а также выполнил инструкции, представленные на https://serverfault.com/questions/291490/phpmyadmin-not-allowing-users-to-log-on но похоже, что это не работает. Я использую AMI и также проверял владельца и разрешения. Пожалуйста, помогите.
Это может помочь, 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
Я также получал ошибку The configuration file now needs a secret passphrase (blowfish_secret)
когда файл конфигурации имел $cfg['blowfish_secret']
устанавливать. Я использую CentOS v6, и я установил PHPMyAdmin из репозитория EPEL, используя yum
. Я настраиваю nginx для размещения PHPMyAdmin, а пакет PHPMyAdmin (по умолчанию) настроен для работы с Apache. Файл конфигурации находится по адресу /etc/phpMyAdmin/config.inc.php
(вы можете проверить CONFIG_DIR
в libraries/vendor_config.php
чтобы найти, где находится ваш файл конфигурации), и если вы заметили, пользователь является пользователем root, а группа apache
для файла и каталога. Это приводит к тому, что PHPMyAdmin не может прочитать файл конфигурации. Чтобы решить эту проблему, используйте chown
чтобы изменить группу на ту, на которой работает ваш веб-сервер (в моем случае это группа nginx
). Вам нужно будет изменить владельца как для каталога, так и для файла конфигурации (как показано ниже).
chown -R root.nginx /etc/phpMyAdmin/
Обратите внимание, что вам может потребоваться сделать это еще раз, если PHPMyAdmin обновлен. У вас также могут возникнуть проблемы с разрешениями, если включен SELinux.
я имел
define('CONFIG_DIR', '/etc/phpmyadmin');
в /usr/share/phpmyadmin/libraries/vendor_config.php.
Так должно быть:
define('CONFIG_DIR', '/etc/phpmyadmin/');
(добавлена косая черта)
Последняя версия 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.
В моем случае я обновил PHPMyAdmin вручную, потому что версия в репозитории плохо работала с PHP 7.2. Я выполнил все шаги в Интернете, но сделал ошибку в /usr/share/phpmyadmin/libraries/vendor_config.php.
Линия: define('CONFIG_DIR', '/etc/phpmyadmin/');
отсутствовал /
в конце. Я выяснил это, вручную отредактировав библиотеки / классы / Config.php и в начале function load($source)
Я сделал die($source)
. Там я увидел, что источник конфигурации неверен.
В дополнение к проверке разрешений, выполняемых для группы http (веб-сервер), стоит проверить, что запись open_basedir в php.ini включает каталог, в котором находится config.inc.php, если он установлен. Это вылечило меня от этой проблемы.
Перейдите в папку phpmyadmin> найдите 'lint.php'и установите ='require_once' библиотеки / config.inc.php ';
Это однозначно решит вашу проблему.
Если это решит вашу проблему, то спасибо мне.
Следуй этим шагам:
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
Просто хочу этим поделиться. ставить
$cfg['blowfish_secret'] = 'fill this up';
Перейдите в папку phpmyadmin и найдите lint.php
и установите
require_once 'common.inc.php';
Если вы редактировали файл здесь: /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, все будет в порядке.
Добавление пароля из 32 символов в скобках $ cfg ['blowfish_secret'] = ''; помог мне с другим файлом внутри /usr/share/phpmyadmin/libraries/config.default.php
Используя debian 9 + ispconfig, вручную установил phpmyadmin
В моем случае это была проблема с владельцем / разрешениями, потому что я вручную создал символическую ссылку на одном из моих основных веб-сайтов, чтобы указать на /usr/share/phpmyadmin/
чтобы я мог получить доступ к phpMyAdmin из FQDN https://myserver.mydomain.com/changedphpmyadmin вместо этого только через IP. Но это также изменило веб-пользователя; просмотр через IP отличается от просмотра через FQDN, если это не домен по умолчанию.
Итак, в моем случае веб-пользователь моего FQDN не мог прочитать /var/lib/phpmyadmin/blowfish_secret.inc.php
, поэтому я просто сменил владельца этого файла с корень: www-data к web1: client1 в моем случае. Затем протестируйте и перезагрузите nginx:
chown web1:client1 /var/lib/phpmyadmin/blowfish_secret.inc.php
nginx -t
systemctl reload nginx
Для меня 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.