访问 config.inc.php 和 blowfish_secret.inc.php 时出现 phpMyAdmin 错误
phpMyAdmin errors while accessing config.inc.php and blowfish_secret.inc.php
我是 运行 phpMyAdmin 4.6.6deb5,配置如下:
- Ubuntu 服务器 18.04.3
- nginx/1.17.9
- 7.2.24-0ubuntu0.18.04.3
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
软件包。
我是 运行 phpMyAdmin 4.6.6deb5,配置如下:
- Ubuntu 服务器 18.04.3
- nginx/1.17.9
- 7.2.24-0ubuntu0.18.04.3
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
软件包。