升级到22.04后Phpmyadmin无法工作,无法卸载

z6psavjg  于 2022-11-09  发布在  PHP
关注(0)|答案(1)|浏览(415)

从Ubuntu 20.04升级到22.04,php从7.4升级到8.1.在localhost apache 2上的Phpmyadmin之前工作得很好(v5.0.3从2020年10月),但现在我在登录页面上得到了一堆错误。例如:

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时,它报告“Package phpmyadmin is not installed,so not removed”,这是没有帮助的,因为它仍然安装在/usr/share/phpmyadmin中,并且apache 2配置文件已启用。
那么,如何删除它呢?是简单地删除/usr/share/phpmyadmin文件夹并禁用apache 2中的phpmyadmin.conf,还是在mysql(mariabd)数据库中留下其他东西,这会扰乱最新版本的重新安装?
或者,我可以在现有的5.0.3的基础上安装最新版本吗?
第二个问题是这里出了什么问题?-似乎apt忘记了在20.04-〉22.04更新期间安装了phpmyadmin。

kulphzqa

kulphzqa1#

好吧,事实证明,旧版本的phpMyAdmin确实不能与php 8一起工作:-(
首先切换回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个字符长的“secret”密码短语,例如:

<?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
最后切换回php 8

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

相关问题