phpmyadmin中的错误-缺少“ mysqli扩展名”

Ray*_*nes 2 php mysqli phpmyadmin ubuntu-18.04

我刚刚安装了LAMP堆栈(也尝试使用nginx),并在安装phpmyadmin并尝试访问“ localhost / phpmyadmin”后,收到此消息:

The mysqli extension is missing. Please check your PHP configuration
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这里这里的步骤。

我尝试在Ubuntu 18.04上安装“ php7.2-mysql”(php 7.2是我当前的php版本),并且“ php7.2-mysqli”重定向到“ php7.2-mysql”,并且两个都已经安装在其上最新版本。

在phpmyadmin文档中,这是缺少扩展名的意思:

1.20我收到有关缺少mysqli和mysql扩展的错误。

要连接到MySQL服务器,PHP需要一组称为>“ MySQL扩展”的MySQL函数。此扩展名可能是PHP发行版>(内置)的一部分,否则需要动态加载。它的名称可能是mysqli.so或php_mysqli.dll。phpMyAdmin尝试加载>扩展名,但失败。通常,可以通过安装一个名为“ PHP-MySQL”或类似名称的软件包来解决该问题。

PHP当前提供了两个作为MySQL扩展的接口-mysql>和mysqli。首先尝试mysqli,因为它是最好的。

另外,我已经尝试修改php.ini文件,以添加或取消注释以下几行:

extension=mysqli
extension=mysqli.so
extension=mysqli.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
Run Code Online (Sandbox Code Playgroud)

然后尝试通过dbconfig-common重新安装phpmyadmin,而无需配置数据库。还使用和不使用secure_installation重新安装了mysql-server(版本5.7.24)。

使用apache2我已经安装了以下php软件包:

php php-cgi libapache2-mod-php php-common php-pear php-mbstring
Run Code Online (Sandbox Code Playgroud)

使用nginx我已经安装了以下php软件包:

php-fpm php-mysql
Run Code Online (Sandbox Code Playgroud)

但是这些都没有改变错误消息(即使在清除软件包并手动删除文件夹并重新安装之后)。

重要的是要注意堆栈中的所有程序都可以正常工作。让我认为这是phpmyadmin的问题。

因此,我想进入phpmyadmin的登录屏幕,但似乎无济于事。已经尝试了几次,多次。如果有人可以帮助我,请回答!谢谢。

Cal*_*Kao 5

如果您更改了某些配置并且没有在重新安装中将其删除,则无济于事。请按照以下命令清除旧配置:

sudo apt purge php7.2-* phpmyadmin
Run Code Online (Sandbox Code Playgroud)

删除后,重新安装软件包:

sudo apt install apache2 php7.2 php7.2-mysql # Add other dependent if you need ...
Run Code Online (Sandbox Code Playgroud)

现在,mysqli应该存在于/etc/php/7.2/mods-available/20-mysqli.ini

$ cat /etc/php/7.2/mods-available/mysqli.ini
; configuration for php mysql module
; priority=20
extension=mysqli.so
Run Code Online (Sandbox Code Playgroud)

如果您使用FPM,则应该在其中具有软链接/etc/php/7.2/fpm/conf.d/20-mysqli.ini