我已经更新了 ubuntu 22.04 — >> 24.04 现在出现此错误,而 phpmyadmin 无法加载到浏览器中

2024 年 9 月 23 日星期一 18:30:18.060029] [php:error] [pid 11672] [client 192.168.1.150:54278] PHP 致命错误:未捕获 TypeError:PhpMyAdmin\\Menu::__construct():参数 #1 ($dbi) 必须是 PhpMyAdmin\\DatabaseInterface 类型,给定为空,在 /usr/share/phpmyadmin/libraries/classes/Header.php 的第 114 行调用并在 /usr/share/phpmyadmin/libraries/classes/Menu.php:57\nStack trace:\n#0 /usr/share/phpmyadmin/libraries/classes/Header.php(114): PhpMyAdmin\\Menu->__construct()\n#1 /usr/share/phpmyadmin/libraries/classes/ResponseRenderer.php(168): PhpMyAdmin\\Header->__construct()\n#2 /usr/share/phpmyadmin/libraries/classes/ResponseRenderer.php(199): PhpMyAdmin\\ResponseRenderer->__construct()\n#3 /usr/share/phpmyadmin/libraries/classes/ErrorHandler.php(335): PhpMyAdmin\\ResponseRenderer::getInstance()\n#4 /usr/share/phpmyadmin/libraries/classes/ErrorHandler.php(307): PhpMyAdmin\\ErrorHandler->dispFatalError()\n#5 /usr/share/phpmyadmin/libraries/classes/ErrorHandler.php(237): PhpMyAdmin\\ErrorHandler->addError()\n#6 [内部函数]: PhpMyAdmin\\ErrorHandler->handleException()\n#7 {main}\n 在 /usr/share/phpmyadmin/libraries/classes/Menu.php 第 57 行被抛出
[2024 年 9 月 23 日星期一 18:30:18.060184] [php:error] [pid 11672] [客户端 192.168.1.150:54278] PHP 致命错误:未捕获错误:在 /usr/share/phpmyadmin/libraries/classes/ResponseRenderer.php:293\n 中对成员函数 getDisplay() 的调用为 null 堆栈跟踪:\n#0 /usr/share/phpmyadmin/libraries/classes/ResponseRenderer.php(411): PhpMyAdmin\\ResponseRenderer->getDisplay()\n#1 [内部函数]:PhpMyAdmin\\ResponseRenderer->response()\n#2 {main}\n 在 /usr/share/phpmyadmin/libraries/classes/ResponseRenderer.php 第 293 行中抛出

尝试了所有方法,在网上找到了它。

之前我们使用的是 php7.4,现在我们设置了 php8.3(所以当 php7.4 时甚至不允许加载网站)但 PHP v8.3 至少允许我们连接到网站并在浏览器中加载它(因为这是更新的)

但是当我们执行(或 localhost/phpmyadmin)时

此页面无法正常工作 192.168.1.100 目前无法处理此请求。HTTP 错误 500

有人能帮助我们吗?


最佳答案
1

我尚未将phpmyadmin服务器更新到 24.04,但在更新到以前的 Ubuntu 版本时,我遇到了相同或类似的错误。请尝试以下操作:

  1. 如果您尚未安装,请安装 phpmbstring包:

sudo apt-get install php8.3-mbstring

  1. 您没有说您正在使用哪个 Web 服务器,但假设使用 Apache,然后检查您的 Apache 正在使用哪个 php 模块:

a2query -m |grep php

如果那没有列出你安装的 php 版本,php8.3那么你可能需要禁用它正在使用的任何 php 模块,然后启用正确的模块,例如说它列出了php8.1

sudo a2dismod php8.1

sudo a2enmod php8.3

1

  • 谢谢,它暂时解决了我的问题


    –