升级到22.04后Phpmyadmin无法使用且无法卸载

问题描述 投票:0回答:2

从Ubuntu 20.04升级到22.04,并将php从7.4升级到8.1。本地主机 apache2 上的 Phpmyadmin 之前工作正常(2020 年 10 月的 v5.0.3),但现在我在登录页面上收到大量错误。例如:

Deprecation Notice in ./vendor/twig/twig/src/Loader/FilesystemLoader.php#40
 realpath(): Passing null to parameter #1 ($path) of type string is deprecated

看起来像是在 php8.1 上呕吐,然后如果我尝试登录,我会看到一个页面,上面写着“该页面现在无法工作”

当我运行

sudo apt-get remove phpmyadmin
时,它报告“软件包 phpmyadmin 未安装,因此未删除”,这是没有帮助的,因为它仍然安装并存在于 /usr/share/phpmyadmin 中,并且 apache2 配置文件已启用。

那么如何删除它 - 只需删除 /usr/share/phpmyadmin 文件夹并禁用 apache2 中的 phpmyadmin.conf 即可工作,或者它会在 mysql (mariabd) 数据库中留下其他内容,从而搞乱重新启动-安装最新版本吗?

或者我可以简单地在现有 5.0.3 的基础上安装最新版本吗?

作为次要问题,这里出了什么问题? - apt 似乎忘记了在 20.04->22.04 更新期间安装了 phpmyadmin。

phpmyadmin ubuntu-22.04
2个回答
0
投票

好吧,事实证明旧版本的 phpMyAdmin 确实不能与 php8 一起使用:-(

首先切换回php7.4

sudo a2dismod php8.1
sudo a2enmod php7.4
sudo systemctl restart apache2

现在phpmyadmin5.0.2又可以工作了 然后您可以删除旧版本并安装新版本。首先从 phpmyadmin 网站下载并解压 - 说

~/Downloads/phpMyAdmin-5.2.0-english/

sudo rm -rf /usr/share/phpmyadmin/
sudo mkdir /usr/share/phpmyadmin/
sudo mv ~/Downloads/phpMyAdmin-5.2.0-english/* /usr/share/phpmyadmin/
sudo chown -R root:root /usr/share/phpmyadmin

您可能还需要创建一个文件

/usr/share/phpmyadmin/config.in.php
,其中包含 32 个字符长的“秘密”密码,例如:

<?php
// use here a value of your choice 32 chars long or just copy this if you are on your own localhost
$cfg['blowfish_secret'] = '12345678901234567890123456789012';
$i=0;
$i++;
$cfg['Servers'][$i]['auth_type']     = 'cookie';

您可能还需要创建一个临时目录

sudo mkdir /usr/share/phpmyadmin/tmp && sudo chmod 777 /usr/share/phpmyadmin/tmp

最后切换回 php8

sudo a2dismod php7.4
sudo a2enmod php8.1
sudo systemctl restart apache2

0
投票

试试这个

如果您使用的是Linux

清空 ContainerBuilder.php 文件

echo "" > /usr/share/php/Symfony/Component/DependencyInjection/ContainerBuilder.php

打开 ContainerBuilder.php 文件

nano /usr/share/php/Symfony/Component/DependencyInjection/ContainerBuilder.php

然后将此内容粘贴到文件中。

https://pastebin.com/Q5tSiaMR

© www.soinside.com 2019 - 2024. All rights reserved.