安装 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_DIR
以libraries/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)
。在那里我看到配置源不正确。