我已经更新了 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 至少允许我们连接到网站并在浏览器中加载它(因为这是更新的)
但是当我们执行http://192.168.1.100/phpmyadmin/(或 localhost/phpmyadmin)时
此页面无法正常工作 192.168.1.100 目前无法处理此请求。HTTP 错误 500
有人能帮助我们吗?
我尚未将
phpmyadmin
服务器更新到 24.04,但在更新到以前的 Ubuntu 版本时,我遇到了相同或类似的错误。请尝试以下操作:mbstring
包:sudo apt-get install php8.3-mbstring
a2query -m |grep php
如果那没有列出你安装的 php 版本,
php8.3
那么你可能需要禁用它正在使用的任何 php 模块,然后启用正确的模块,例如说它列出了php8.1
:sudo a2dismod php8.1
sudo a2enmod php8.3