如何升级PHPmyAdmin [重新访问]


28

之前曾有人问过这个问题,如何升级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 update phpmyadmin

这确实成功超越了2019 4.9.0.1发布的版本。

在撰写本文时,似乎确实需要使用docs.phpmyadmin.net中含糊不清的说明进行手动下载和复制。

是否有phpmyadmin比PPA 更多的最新存储库,还是需要手动安装?


2
@Rinzwind,当前版本为4.5.4,我希望它是4.7.3的当前版本,那不是升级吗?
德怀特·威尔班克斯

如果您不知道如何从压缩包中安装pma,那么您真的不应该从事管理Web服务器的工作...在这里的每个人都为-1。
fkraiem

Answers:


36

@Photo拉里几乎砸在头上了!我将基于他给出一个容易理解和遵循的答案。

  • 第一步是从正式的Ubuntu存储库中安装PMA(phpMyAdmin)apt-get install phpmyadmin
  • 接下来,cd进入usr / share目录:cd /usr/share
  • 第三,删除phpmyadmin目录:rm -rf phpmyadmin
  • 现在我们需要将最新的PMA版本下载到我们的系统上(请注意,您需要wget :)apt-get install wgetwget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.zip"让我解释一下此命令的参数,-P定义路径,“ link.zip”当前为(7/17/18 )最新版本的PMA。您可以在此处找到那些链接。
  • 对于这一步,你需要解压(apt-get install unzipunzip phpMyAdmin-4.8.2-english.zip。我们只是解压缩了PMA,现在将其移至最终家。
  • 让我们使用cp(copy)命令移动文件!注意,-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/phpmyadmincp 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 tmpchown -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()shuffle()array_rand())。因此,我为此目的制作了自己的工具。它会生成一个加密安全的32个字符串,您可以在无需担心安全性或错误的情况下使用它!我用来生成随机性的函数的PHP手册页http://php.net/manual/en/function.random-int.php。我用这个链接替换了旧链接:https://www.motorsportdiesel.com/tools/blowfish-salt/pma/


不错的助手!我遵循了几个步骤:a)我没有重命名旧版本,而是删除了旧版本;b)创建符号链接可能很方便phpmyadmin,可以在多个版本之间轻松切换。
AntonK

在这里复制了您的答案因为我认为这是最佳选择。如果您想做出自己的回答,请告诉我,我将删除我的。
PhoneixS

没关系。非常感谢您的功劳,并有礼貌地通知我!@PhoneixS
CRIMSON 501

在清理过程中,您还应该删除下载的ZIP文件
IvanRF

9

由于php7.2的问题和收到错误,我只需要这样做count(): Parameter must be an array or an object that implements Countable

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


1
为我工作就像一种魅力
Norman Bird

好,现在好多了!Debian(和Ubuntu)应升级其软件包。附言 我什至在运行PHP 7.3。
危险89年

3

如上所述,您需要手动更新文件,但是我搜索了一个小时以找出文件所在的位置(/ usr / share),并不断看到文件将被放置到/ var / www / html中,这是不正确的。如果在添加了上面声称是最新的存储库之后,使用apt-get install phpmyadmin安装了该软件,那么您至少会获得所需的php7.2库。然后,您需要转到/ usr / share并克隆git,将新版本(4.8)安装到/ usr / share / phpmyadmin中:git clone https://github.com/phpmyadmin/phpmyadmin.git (我首先做了rm -rf phpmyadmin),以确保没有剩余的旧代码。然后,进入Web界面...。您会看到正在使用最新版本。然后确保CD到phpmyadmin并运行:composer update --no-dev这将获得所需的添加的库。这将安装4.9.0-dev,运行得很好,而我正在运行Ubuntu 16.04.4。谢谢希望能帮助某人节省时间


谢谢!这挽救了我的一天!但是我决定使用稳定的github.com/blackmambano5/phpmyadmin.git,这是版本4.8.1,一切正常!
gfivehost

谢谢,这有所帮助。我是从zip安装的,不是从Github安装的,那里没有太大区别。我建议编辑问题以将较大的段落分成一系列步骤。
pgr

最好像这样从git中获取最新的稳定版本:git clone -b STABLE https://github.com/phpmyadmin/phpmyadmin.git
Christopher K.

2

您只需手动安装最新版本的即可phpmyadmin

转至https://www.phpmyadmin.net/downloads并下载最新版本,但请确保您具有网站上列出的兼容的PHP和MySQL版本。

将其解压缩到服务器公用文件夹并编辑config.inc.php文件。确保你的auth_type就是cookiehost你的主机是什么。此设置将使您在登录时输入用户名和密码。

/*Authentication type*/
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';

2

如果您确实需要最新版本,我将使用phpMyAdmin存档。请注意,尽管存在依赖性(您也需要更新的php):

PPA说明

最新的phpMyAdmin软件包-https: //www.phpmyadmin.net/。基于Debian中可用的软件包。

有一些显着的变化:


2
我认为他问的是如何将其更新到最新版本,而不是在哪里可以下载安装程序。
塔里克

1
在2018年7月,PPA仍为4.6.6(有错误),而phpMyAdmin为4.8(无错误)。好像不再维护PPA了?
史蒂夫

刚使用过此PPA-4.9.0,还不错-最新的是4.9.1。使生活变得简单。是否必须将PHP升级到7.3
nrapopor


0

除非您在Ubuntu上,否则Crimson501的答案是完美的,除非要在ubuntu上修复河豚和tmp文件问题,您需要修改以下文件,以引用ubuntu使用的现有配置和tmp目录。

使用您喜欢的文本文件编辑器修改:

/usr/share/phpmyadmin/libraries/vendor_config.php
find TEMP_DIR
modify './tmp/' to '/var/lib/phpmyadmin/tmp/'
find CONFIG_DIR
modify '' to '/etc/phpmyadmin/'
save the changes

现在,当您返回并刷新页面时,错误将消失。



-1

按照此处找到的说明,我创建了一个简单的脚本,将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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.