【问题标题】:phpMyAdmin errors while accessing config.inc.php and blowfish_secret.inc.php访问 config.inc.php 和 blowfish_secret.inc.php 时出现 phpMyAdmin 错误
【发布时间】:2020-07-03 09:55:58
【问题描述】:

我在以下配置上运行 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。

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

提前致谢

最好的问候,鲍里斯

【问题讨论】:

    标签: nginx phpmyadmin blowfish


    【解决方案1】:

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

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

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

    <?php
    phpinfo();
    

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

    升级

    如果您的 PHP 和 MySQL 版本支持它(PHP 7.2 支持,所以您可能没问题),我建议从 phpMyAdmin PPA 安装最新版本。您应该首先删除现有 phpMyAdmin 软件包的本地系统上的所有内容,包括 /var/lib/phpmyadmin/etc/phpmyadmin 文件夹(通常关于首先进行备份的免责声明适用,即使这些都不应该是破坏性的)。如果您进行了想要保留的自定义设置,您可能希望保存您的配置文件 config.inc.php

    These 应该兼容和更新。

    轻松自动安装

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

    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" &gt; /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 软件包。

    【讨论】:

      猜你喜欢
      • 2021-01-21
      • 1970-01-01
      • 2012-11-01
      • 2014-08-26
      • 2017-10-09
      • 2012-04-25
      • 2012-07-05
      • 2016-12-15
      相关资源
      最近更新 更多