缺少 mysqli 扩展。请检查您的PHP配置

The mysqli extension is missing. Please check your PHP configuration

提问人:Wesley 提问时间:5/18/2012 最后编辑:DharmanWesley 更新时间:9/19/2022 访问量:192025

问:

我已经浏览了所有我能找到的与这个问题和我的问题相关的论坛,但没有任何效果。我有 apache2.2 和 php5、phpMyAdmin 和 MySQL。我已经取消了对扩展的注释,我已经检查了我的并且mysqli没有出现。我的配置目录是它应该在的地方,但它仍然无法加载。phpinfo()

PHP Apache MySQLI

评论

1赞 Chris Henry 5/18/2012
你重启过apache了吗?为了使php.ini中的更改生效,需要重新启动 apache。另外,从命令行尝试 php -m。
0赞 madth3 5/18/2012
Sql Server 与此有什么关系?
0赞 Wesley 5/19/2012
是的,我已经重新启动了apache,并在命令行中尝试了您的php -m。目前还没有任何效果。
0赞 Abdallah Abdillah 6/27/2018
当我将我的 php 版本从 5.6 更新到 7 时,我遇到了同样的问题,我必须做的解决方案是尝试检查我的 httpd-xampp 配置文件。确保 Php-Module 符合您当前的 php 版本。示例如下: IfModule php5_module 根据我的迁移,我使用的是php7,因此编辑配置文件中的所有php5_module标签以php7_module并重新启动apache服务器。
2赞 mario 6/28/2019
至于错误消息:“缺少mysqli扩展。请检查您的 PHP 配置。有关更多信息,请参阅我们的文档。- 参见 伙计,我的php.ini在哪里?(服务器配置)并在编辑正确的过程后重新启动 PHP-FPM 和/或 Web 服务器过程。

答:

2赞 Dmytro Zarezenko 6/4/2012 #1

本文可以帮助您在 Windows 中使用 MySQL 为 Apache 2 或 IIS 配置 PHP。查看“在 Apache 2 下配置 PHP 和 MySQL”部分,第 3 点:

extension_dir = "c:\php\extensions"      ; FOR PHP 4 ONLY 
extension_dir = "c:\php\ext"             ; FOR PHP 5 ONLY

您必须取消注释extension_dir参数行,并将其设置为 PHP 扩展目录的绝对路径。

1赞 RM. 5/18/2013 #2

将libmysql.dll从 PHP 安装文件夹复制到 windows 文件夹。

8赞 sradforth 7/2/2013 #3

我知道这是很久以前的事了,但我遇到了这个问题并遵循了这里的其他答案,但无济于事,我通过这个问题找到了解决方案(Stackoverflow 问题)

基本上只需要编辑php.ini文件(我的文件是在 c:\xampp\php\php.ini 中找到的)并取消注释这些行......

;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_pdo_mysql.dll

重新启动apache后,一切正常。

0赞 Vinci Chow 8/27/2014 #4

我今天遇到了这个问题,最终我意识到是mysql dll前面的注释导致了问题。

这是 PHP 5.5.16 默认php.ini中应该具备的:

;extension=php_exif.dll       Must be after mbstring as it depends on it
;extension=php_mysql.dll
;extension=php_mysqli.dll

除了删除分号外,您还需要删除php_exif.dll后面的注释行。这给你留下了

extension=php_exif.dll      
extension=php_mysql.dll
extension=php_mysqli.dll

这解决了我的问题。

24赞 AAGREDA 9/1/2018 #5
  1. 找出使用的php.ini
  2. 在文件php.ini此行:

    extension=mysqli
    
  3. 替换为:

    extension="C:\php\ext\php_mysqli.dll"
    
  4. 重启 apache

评论

4赞 vitrums 4/18/2019
好的,为我工作。但是,将绝对路径设置为 extension_dir 的值(即 extension_dir = “c:\php\ext”)似乎是一个更优雅的解决方案。
0赞 Waleed Mohsin 12/21/2020
将 include_path=C:\Program Files (x86)\xampp\php\PEAR 替换为 include_path=“C:\Program Files (x86)\xampp\php\PEAR”
1赞 Spawn 9/1/2019 #6

我已经找了好几个小时了,没有人能帮助我。我做了一个 解决这个问题很简单。(WINDOWS 10 x64)

请遵循以下操作:

1 - 转到您的php_mysqli.dll路径(在我的情况下:C:/xampp/php/ext);

2 - 将php_mysqli.dll移动到上一个文件夹 (C:/xampp/php);

3 - 打开php.ini并搜索行:“extension: php_mysqli.dll”;

4 - 更改为文件所在的路径:extension=“C:\xampp\php\php_mysqli.dll”;

5 - 重新启动应用程序(wampp、xampp 等)并启动 Apache Server;

问题是路径ext / php_mysqli.dll,我尝试将行更改为extension=“C:\xampp\php\ext\php_mysqli.dll”但没有用。

0赞 Ocheng Jerome Jesse 9/23/2019 #7

我只是将我的 php_myslqli.dll 文件从 ert 文件夹复制回 php 文件夹,从控制面板重新启动我的 Apache 和 MySQL 后,它对我有用

2赞 SamWanekeya 12/4/2019 #8

只需在php.ini文件中指定可加载扩展(模块)所在的目录

; On windows:
extension_dir="C:\xampp\php\ext"

; On windows:
;extension_dir = "ext"

然后启用扩展(如果扩展已禁用),请将

;extension=mysqli

extension=mysqli
1赞 Mohammed AL MahmoOd 3/28/2020 #9

我遇到了同样的问题,我解决了它。如果您按照以下步骤操作,您也可以解决它:

  1. 您必须将 PHP 安装到 C:/php 或您当前的版本,将其定位到此路径并将其指定为系统变量
  2. 然后打开 XAMPP 程序,单击 Config 并打开php.ini 并取消注释以下行:

    extension=pdo_mysql
    extension=pdo_mysql
    extension=openssl
    
0赞 user3230982 4/25/2020 #10

这是一个扩展目录的问题。您需要手动更改php扩展目录才能完成此操作。

如果您使用的是 AMPP 服务器,请执行以下操作

转到设置 -> PHP -> 配置

在 php7.3.ini Find 中,(版本可能会更改)

extension_dir = “” , (已经有了一些路径)

并将值更改为

extension_dir = “C:\Program Files\Ampps\php-7.3\ext”

如果您使用的是 XAMP

转到 XAMP 设置,Apache -> PHP.ini

查找、extension_dir = php.ini,并设置本地计算机的 php 扩展文件夹的路径。请参阅以下示例。

extension_dir = “C:\php\ext” (正确检查您的路径)

3赞 Capricorn 4/28/2020 #11

sudo apt-get 安装 php7.2-mysql

extension=mysqli.so(添加此php.ini文件)

sudo 服务 apache2 重启

请使用上述命令解决mysqli-extension丢失错误

14赞 faye.babacar78 5/21/2020 #12

如果您的配置文件没问题,但仍然有相同的问题,请根据已安装的 php 版本安装 php7.x-mysql。

例如,就我而言,我使用的是php7.3,因此我运行了以下命令来设置所有内容:

sudo apt install php7.3-mysql

systemctl reload apache2

评论

2赞 Hiran Walawage 11/16/2020
并在 systemctl 重新加载 apache2 后运行
1赞 Moccine 6/25/2023
sudo apt install php8.2-mysql && sudo systemctl reload apache2
6赞 Adedoyin Adetunji 6/14/2020 #13
  • 在您的 Xampp 文件夹中,打开 PHP 文件夹中的文件,即(使用文本编辑器)。php.inixampp\php\php.ini

  • 搜索 (Ctrl+F),如果有两个,请查找未注释的那个(后面没有“;”)extension=mysqli

  • 使用正确的路径地址更改mysqli,即。extension=C:\xampp\php\ext\php_mysqli.dll

  • 在 Xampp 控制面板上,停止和启动 apache 和 MySQL

评论

0赞 Jaydeep Goswami 6/7/2022
另外,请确保您已取消注释此行,因为在此之前,apache 不会找到您的扩展。要取消注释,只需像这样从开头删除分号 (;),您就可以开始了。;extension_dir = "ext"extension_dir = "ext"
0赞 ShapCyber 8/17/2020 #14

就我而言,在完全安装 Debian 10 后,我遇到了类似的问题。

命令行:显示我正在使用但打印给我php -vphp7.4phpinfo()php7.3

解决方案:禁用 php7.3 启用 php7.4

   $ a2dismod php7.3
    
   $ a2enmod php7.4
    
   $ update-alternatives --set php /usr/bin/php7.4
   $ update-alternatives --set phar /usr/bin/phar7.4
   $ update-alternatives --set phar.phar /usr/bin/phar.phar7.4
   $ update-alternatives --set phpize /usr/bin/phpize7.4
   $ update-alternatives --set php-config /usr/bin/php-config7.4
0赞 Waleed Mohsin 12/21/2020 #15

取代

include_path=C:\Program Files (x86)\xampp\php\PEAR

具有以下内容

include_path="C:\Program Files (x86)\xampp\php\PEAR"

即添加逗号,我检查了apache错误日志,它显示语法错误,因此检查了整个文件的语法错误。

0赞 Cyrille Con Morales 6/8/2021 #16

解决我问题的问题是:打开然后添加这个php.iniextension=php_mysqli.dll

1赞 Hassan Elshazly Eida 9/19/2022 #17

尝试更改 PHP 版本

$sudo update-alternatives --config php

如果它不起作用 例如,从 PHP 5.6 更改为 PHP 7.1 >

    $ sudo a2dismod php5.6
    $ sudo a2enmod php7.1  
    $ sudo service apache2 restart