访问 config.inc.php 和 blowfish_secret.inc.php 时出现 phpMyAdmin 错误

phpMyAdmin errors while accessing config.inc.php and blowfish_secret.inc.php

我是 运行 phpMyAdmin 4.6.6deb5,配置如下:

phpMyAdmin 似乎可以工作,但这条红色错误消息说明了河豚的秘密。不知怎的,没有办法摆脱它。错误日志包含以下条目:

2020/03/22 21:46:30 [error] 26664#26664: *53 FastCGI sent in stderr: "PHP message: phpmyadmin: Failed to load /var/lib/phpmyadmin/blowfish_secret.inc.php Check group www-data has read access and open_basedir restrictions.
PHP message: phpmyadmin: Failed to load /var/lib/phpmyadmin/config.inc.php Check group www-data has read access and open_basedir restrictions" while reading response header from upstream, client: 87.147.18.48, server: ***, request: "GET /phpmyadmin/js/get_image.js.php?theme=pmahomme&v=4.6.6deb5 HTTP/2.0", upstream: "fastcgi://unix:/run/php/php7.2-fpm.sock:", host: "***

文件夹和文件都分配给 www-data。我还分配了以下权限:

# chmod 755 /var/lib/phpmyadmin
# chmod 664 /var/lib/phpmyadmin/blowfish_secret.inc.php 
# chmod 664 /var/lib/phpmyadmin/config.inc.php 

没用...

令我感到奇怪的是 config.inc.php 是空的,而 blowfish_seceret.inc.php 看起来像这样:

<?php
$cfg['blowfish_secret'] = 'j(<purKyJl>5D]yzlPoKFLNfH9es6.-T';

好像两个文件都坏了。谁能告诉我在哪里可以找到正确的文件?我知道在不同的文件夹中有几个 config.inc.php 文件,其中一些包括 blowfish_secret 的行,但我不知道其中哪一个是正确的复制到 /var/lib/phpmyadmin.

我在 Whosebug 和其他论坛上搜索时发现了类似的问题,但是 none 的建议解决方案对我有用。

提前致谢

最好的问候,鲍里斯

您的设置有一些奇怪的地方,其中之一是包管理器通常会将配置文件放在 etc/phpmyadmin 中,而不是 /var/lib/phpmyadmin 中。另外4.6.6版本比较老

如果您想继续对现有安装进行故障排除,我建议您开始查看是否有任何 open _basedir 限制。查看phpinfo()的输出。

在您的网络服务器根目录中创建一个新的文本文件。您可以随意调用它,例如 phpinfo.php。文本文件应包含

<?php
phpinfo();

在浏览器中加载它并在输出中搜索 open_basedir。这将显示您已配置的内容,并且在顶部附近有一个部分会告诉您正在读取哪些配置文件,因此您可以开始猜测如果配置错误,应该在哪里修复它。

正在升级

如果您的 PHP 和 MySQL 版本支持它(并且 PHP 7.2 支持,那么您可能没问题),我建议从 phpMyAdmin PPA 安装最新版本。您应该首先删除您在本地系统上现有 phpMyAdmin 包的内容,包括 /var/lib/phpmyadmin/etc/phpmyadmin 文件夹(尽管 none应该是破坏性的)。如果您进行了自定义并希望保留,您可能希望保存配置文件 config.inc.php

These应该是兼容和更新的。

轻松自动安装

可能你只需要两行添加PPA,然后你可以用你喜欢的包管理工具搜索'phpmyadmin',比如aptitude:

sudo add-apt-repository ppa:phpmyadmin/ppa
sudo apt-get update

手动安装

如果你的系统没有apt-repository或者其他什么地方出了问题,那里有手册说明,基本上是这样的:

您可能需要将 PPA 添加为 apt 源,您可以使用

sudo echo "deb http://ppa.launchpad.net/phpmyadmin/ppa/ubuntu bionic main" > /etc/apt/sources.list.d/phpmyadmin.list

尝试更新 apt:apt-get update。您可能会遇到密钥错误,这是我们预料到的,因为您还没有正确的密钥来验证下载。当您收到错误时,请记下密钥 ID。

检索密钥:apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2EA3055293CB3F45(目前,这是我需要的密钥,但它可能会改变,因此最好从错误消息中复制并粘贴它,然后在此命令中替换它).

最后,您可以使用 apt-get update 再次更新软件包列表,然后使用您最喜欢的 apt-flavored 工具安装 phpmyadmin 软件包。