phpMyAdmin 错误 - 配置文件现在需要一个秘密密码

phpMyAdmin 错误 - 配置文件现在需要一个秘密密码

安装 phpmyadmin 后,我不断收到错误“配置文件现在需要密码”。我已设置密码,并按照https://serverfault.com/questions/291490/phpmyadmin-not-allowing-users-to-log-on但它似乎不起作用。我正在使用 AMI,并检查了所有者和权限。请帮忙。

答案1

这可能会有帮助, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

如果您首次登录 /phpmyadmin(使用之前设置的 MySQL 用户名和密码)时在页面底部看到以下错误消息:

ERROR: The configuration file now needs a secret passphrase (blowfish_secret)  

您需要在 phpMyAdmin 的配置文件中添加一个 blowfish 密码。编辑 /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

答案2

The configuration file now needs a secret passphrase (blowfish_secret)设置配置文件时我也遇到了错误$cfg['blowfish_secret']。我使用的是 CentOS v6,并使用 从 EPEL 仓库安装了 PHPMyAdmin yum。我设置了 nginx 来托管 PHPMyAdmin,并且 PHPMyAdmin 包(默认)设置为与 Apache 一起使用。配置文件位于/etc/phpMyAdmin/config.inc.php(您可以登录CONFIG_DIRlibraries/vendor_config.php找到配置文件的位置),如果您注意到,用户是 root 而组是apache文件和目录的。这导致 PHPMyAdmin 无法读取配置文件。要解决此问题,请使用chown将组更改为运行 Web 服务器的组(在我的情况下,组是nginx)。您需要更改目录和配置文件的所有者(如下所示)。

chown -R root.nginx /etc/phpMyAdmin/

请注意,如果 PHPMyAdmin 已更新,则可能需要再次执行此操作。如果启用了 SELinux,您可能还会遇到权限问题。

答案3

最新版本的 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 个字符规则。也许这就是原帖者的问题所在。

答案4

就我而言,我手动升级了 PHPMyAdmin,因为 repo 中的版本与 PHP 7.2 配合不佳。我按照网上的所有步骤操作,但在 /usr/share/phpmyadmin/libraries/vendor_config.php 中犯了一个错误。

行:末尾define('CONFIG_DIR', '/etc/phpmyadmin/');缺少/。我通过手动编辑 libraries/classes/Config.php 发现了这个问题,在开头function load($source)我做了die($source)。在那里我看到配置源不正确。

相关内容