gpt4 book ai didi

count - 在 Ubuntu 16 上升级 php7.2 后的 phpMyAdmin 错误(计数、河豚等)

转载 作者:行者123 更新时间:2023-12-04 10:03:04 25 4
gpt4 key购买 nike

php7.2升级后phpMyAdmin错误
在 Ubuntu 16.04 LTS 上升级到 php7.2 后,phpMyAdmin 在查看表格时显示恼人的弹出警告:

"Some errors have been detected on the server! Please look at the bottom of this window. Ignore All. Ignore."


在窗口底部:

"Warning in ./libraries/sql.lib.php#601

count(): Parameter must be an array or an object that implements Countable"


...后面是一个很长的回溯列表。
此问题发生在各种 phpMyAdmin 4.x 版本(包括 4.5.4 及以下)上。
我该如何解决?

更新 - 河豚错误
升级到最新版本的 phpMyAdmin (4.7.9) 后,我现在收到一个新错误,显示在每个页面的底部:

"The configuration file now needs a secret passphrase (blowfish_secret)."


我该如何解决?

最佳答案

在 Ubuntu 上手动更新 phpMyAdmin

在撰写本文时,Ubuntu 中可用的 phpMyAdmin 版本 package manager (4.5.4) 不完全支持 php7.2,导致烦人的 count() 警告。 解决办法是更新到最新的phpMyAdmin版本 ,在撰写本文时为 4.7.9。

Ubuntu 包落后了。有一个phpMyAdmin PPA ,但它也在后面:

“Note: This repository is currently a bit behind as I struggle to find time to update it to 4.7 series.”



幸运的是,我们可以从旧版本手动升级。

基本步骤是:
  • 制作当前安装的备份副本
  • 下载并解压最新版phpMyAdmin
  • 将 vendor_config.php 文件修改为适用于 Ubuntu 的目录
  • 添加更长的随机字符串以解决河豚错误消息并允许正确的 cookie 身份验证

  • 这些终端命令应该可以完成工作(如果适用,请使用 sudo):
    mv /usr/share/phpmyadmin /usr/share/phpmyadmin_old
    mkdir /usr/share/phpmyadmin
    mkdir /var/downloads
    cd /var/downloads
    wget https://files.phpmyadmin.net/phpMyAdmin/4.7.9/phpMyAdmin-4.7.9-all-languages.tar.gz
    tar -xf phpMyAdmin-4.7.9-all-languages.tar.gz -C /usr/share/phpmyadmin --strip-components=1

    (可选)用最新版本或您选择的首选格式替换 wget 行。访问 https://www.phpmyadmin.net/downloads/ .

    解决河豚错误信息

    此时,你在使用phpMyAdmin 时很可能会得到一个blowfish 错误。 .要解决此问题,您应该更新特定的配置文件:
  • 开通 vendor_config.php/usr/share/phpmyadmin/libraries/vendor_config.php
  • 在第 38 行或附近,替换 define('CONFIG_DIR', '');define('CONFIG_DIR', '/etc/phpmyadmin/');并保存文件。

  • 完成后, vendor_config.php 的第 33-38 行应该看起来像:
    /**
    * Directory where configuration files are stored.
    * It is not used directly in code, just a convenient
    * define used further in this file.
    */
    define('CONFIG_DIR', '/etc/phpmyadmin/');

    此时,phpMyAdmin 可以正常工作, 但您可能需要为blowfish_secret 配置字符串添加额外的长度 .
  • 打开文件 /var/lib/phpmyadmin/blowfish_secret.inc.php .

  • 你应该看到:
    <?php
    $cfg['blowfish_secret'] = 'Something Short';
  • $cfg['blowfish_secret'] 添加额外的随机性字符串,至少 40 个字符,甚至更长可能更好(我使用长达 100 个字符的字符串)。

  • 例如(不要使用这个,只是一个例子):
    $cfg['blowfish_secret'] = 'A much longer random string 7NfSjYezwmwGCfGDuDO7uWn4ESw2sCFCym1RatPjGCfGCym1RatPjGCfG';
  • 保存文件。

  • 此时,刷新phpMyAdmin(在浏览器中)并再次登录 .现在一切都应该正常工作。

    如果需要,您可以使用以下命令删除旧 phpMyAdmin 版本的备份副本:
    rm -rfv /usr/share/phpmyadmin_old

    附加文档

    以下内容摘自 official phpMyAdmin documentation,仅供引用。关于手动更新到最新版本(这不是 Ubuntu 特有的):

    Warning

    Never extract the new version over an existing installation of phpMyAdmin, always first remove the old files keeping just the configuration.

    This way you will not leave old no longer working code in the directory, which can have severe security implications or can cause various breakages.



    和:

    The complete upgrade can be performed in few simple steps:

    1. Download the latest phpMyAdmin version from https://www.phpmyadmin.net/downloads/.

    2. Rename existing phpMyAdmin folder (for example to phpmyadmin-old).

    3. Unpack freshly donwloaded phpMyAdmin to desired location (for example phpmyadmin).

    4. Copy config.inc.php` from old location (phpmyadmin-old) to new one (phpmyadmin).

    5. Test that everything works properly.

    6. Remove backup of previous version (phpmyadmin-old).

    关于count - 在 Ubuntu 16 上升级 php7.2 后的 phpMyAdmin 错误(计数、河豚等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49246107/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com