Ubuntu 22.04——phpmyadmin 错误:缺少 mysqli 扩展

Ubuntu 22.04——phpmyadmin 错误:缺少 mysqli 扩展

我无法运行 phpmyadmin,它报告说The mysqli extension is missing. 我已经使用 MariaDB 运行 MySQL 一段时间了,通过多个版本的 Ubuntu。当前运行 22.04。一段时间没有使用 phpmyadmin 后,我最近发现它不再工作了。我已阅读了有关此问题的各种搜索结果,但我找到的大部分或全部结果都不是最新的,并且无法解决我的问题。这是我在系统上安装的 php 版本列表:替代 php 有 3 个选项(提供/usr/bin/php)。

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.2   82        auto mode
  1            /usr/bin/php7.4   74        manual mode
  2            /usr/bin/php8.1   81        manual mode
  3            /usr/bin/php8.2   82        manual mode

Press <enter> to keep the current choice[*], or type selection number:

<?php phpinfo(); ?>告诉我 apache2 正在运行 php 8.1.18。修改后/etc/php/8.1/apache2/php.ini/etc/php/8.2/apache2/php.ini使用

extension=/usr/lib/php/20220829/mysqli.so

phpinfo/etc/php/8.1/apache2/conf.d/20-mysqli.ini 在其已解析的 ini 文件列表中包含。但我仍然收到缺少 mysqli 扩展的错误消息。

phpmyadmin 之前一直在运行,但我有一段时间没用了,所以我无法确定是什么系统更改引发了这个问题。如能提供任何帮助解决此问题,我将不胜感激。谢谢!

答案1

我并不是说这些命令会解决你的问题(你可能需要根据你的情况调整版本,否则可能会完全不同),但就我而言,在更新到 Ubuntu 21.10(PHP 8.0)时,我发现扩展mysqli丢失/被禁用,所以我不得不这样做:

sudo apt-get install php8.0-mysql

和:

sudo apt-get install php8.0-mbstring

在后续更新到 22.04 时,我必须禁用 php8.0 模块并启用 php8.1 模块:

sudo a2dismod php8.0

sudo a2enmod php8.1

答案2

我遇到了同样的错误并通过以下方式解决:

  • 我检查了 /etc/phpmyadmin 目录,以查看 apache.conf 中的哪个 php 版本正在运行。然后我设置了以下内容:

<FilesMatch .php$> # Apache 2.4.10+ 可以代理到 unix 套接字 SetHandler "proxy:unix:/var/run/php/php8.2-fpm.sock|fcgi://localhost"

从那时起,一切都恢复正常了。希望这些信息能对你有所帮助。

相关内容