如何升级 PHPmyAdmin

如何升级 PHPmyAdmin

这个问题之前有人问过,如何升级 PHPmyAdmin

给出的答案是

sudo apt-get update
sudo apt-get install phpmyadmin

或者

sudo apt-get update
sudo apt-get upgrade

phpmyadminapt-get 中包含的版本4.5.4发布2016 年 1 月 28 日。

在回答这个问题时,一个答案是使用phpMyAdmin 档案它提供以下命令。

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

在我的例子中,它更新了很多东西,但不是特别的phpmyadmin,我需要额外的命令

sudo apt-get install phpmyadmin

这确实成功地超越4.9.0.1发布在2019年。

截至撰写本文时,似乎使用以下模糊说明手动下载和复制docs.phpmyadmin.net是必须的。

phpmyadmin是否有比 PPA更新的存储库或是否需要手动安装?

答案1

@照片拉里一针见血!我将根据他的观点给出一个易于理解和遵循的答案。

  • 您的第一步是从官方 Ubuntu repo 安装 PMA(phpMyAdmin)apt-get install phpmyadmin:。
  • 接下来,cd 进入 usr/share 目录:cd /usr/share
  • 第三,删除phpmyadmin目录:rm -rf phpmyadmin
  • 现在我们需要下载最新的 PMA 版本到我们的系统上(请注意,您需要 wget: apt-get install wget):
wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.zip"

让我解释一下这个命令的参数,-P 定义路径,“link.zip”是当前(2018 年 7 月 17 日)PMA 的最新版本。您可以找到这些链接这里

  • 下一步您需要解压(apt-get install unzip):。unzip phpMyAdmin-4.8.2-english.zip我们刚刚解压了 PMA,现在我们要将它移到最终的存放位置。
  • 让我们使用cp(复制) 命令来移动文件!请注意,我们必须添加参数,-r因为这是一个文件夹cp -r phpMyAdmin-4.8.2-english phpmyadmin。。
  • 现在该进行清理了:rm -rf phpMyAdmin-4.8.2-english

继续阅读!

登录 PMA 后,您可能会注意到两个错误。

the configuration file now needs a secret passphrase (blowfish_secret). phpmyadmin
The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.

不过,这些问题相对容易解决。对于第一个问题,您只需拿起您选择的编辑器并进行编辑即可,/usr/share/phpmyadmin/config.inc.php但有一个问题,我们将其删除了!没关系,您所要做的就是:cd /usr/share/phpmyadmin& cp config.sample.inc.php config.inc.php

phpMyAdmin Blowfish 秘密变量条目示例:

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = '{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V'; 
/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

现在保存并关闭文件。

  • 现在我们将为 PMA 创建一个 tmp 目录:mkdir tmp& chown -R www-data:www-data /usr/share/phpmyadmin/tmp。最后一个命令允许 Apache Web 服务器拥有 tmp 目录并编辑其内容。

编辑于 2018 年 12 月 12 日

你肯定不希望有人偷走你的 cookie,对吧?

我注意到https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator导致 PMA 上旧版本出现错误。不过,我不鼓励您之所以使用这样的网站,是因为你不知道它们使用的是弱 PRNG(伪随机数生成器)(例如rand()mt_rand()lcg_value())还是“改组”函数之一(例如str_shuffle()、、)。因此,我为此制作了自己的工具。它会生成一个加密安全的 32 个字符串,您可以放心使用,不用担心安全或错误!我用来生成随机性的函数的 PHP 手册页shuffle()array_rand()http://php.net/manual/en/function.random-int.php。我用这个链接替换了旧链接:https://www.motorsportdiesel.com/tools/blowfish-salt/pma/

编辑于 2020 年 9 月 11 日

我已经更改了 blowfish 生成器链接,因为旧的链接不再可访问。

答案2

count(): Parameter must be an array or an object that implements Countable由于 php7.2 存在问题并收到错误,我不得不这样做。

apt 的版本是 4.5.4,而 ppa 没有针对 php7.2 的修复。我的解决方案是从 https://www.phpmyadmin.net/并将文件复制到/usr/share/phpmyadmin

答案3

当前最佳答案非常好,但有点太复杂了。这里我把这个过程改写得更简洁一些。它假设你在像 home 这样的安全目录中工作。

  1. 备份现有配置:
cp /usr/share/phpmyadmin/config.inc.php .
  1. 下载最新的 phpMyAdmin(或其他版本):
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-english.tar.xz
  1. 删除当前安装:
find /usr/share/phpmyadmin -mindepth 1 -delete
  1. 提取下载的档案而不是旧的安装:
tar xf phpMyAdmin-latest-english.tar.xz --strip 1 -C /usr/share/phpmyadmin
  1. 替换配置:
cp config.inc.php /usr/share/phpmyadmin
  1. [可选]清理你的工作目录:
rm config.inc.php phpMyAdmin-latest-english.tar.xz

编辑 2020:意识到我们可以轻松保存配置。

答案4

按照发现的说明这里,我创建了这个简单的脚本来更新 PHPMyAdmin 到最后一个稳定体版本:

echo
echo "Backing up"
mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak

echo "Getting lastest PHPMyAdmin version..."
mkdir -p /usr/share/phpmyadmin/
cd /usr/share/phpmyadmin/
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
tar xzf phpMyAdmin-latest-all-languages.tar.gz
mv phpMyAdmin-*/* /usr/share/phpmyadmin

echo "Updating vendor_config"
sed -i -r "s/('TEMP_DIR'\s*,)[^\)]*/\1 '\/var\/lib\/phpmyadmin\/tmp\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php
sed -i -r "s/('CONFIG_DIR'\s*,)[^\)]*/\1 '\/etc\/phpmyadmin\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php

echo "Cleaning up..."
rm /usr/share/phpmyadmin/phpMyAdmin-latest-all-languages.tar.gz
rm -rf /usr/share/phpmyadmin/phpMyAdmin-*
rm -rf /usr/share/phpmyadmin.bak

echo "Done!"
echo

相关内容