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

Posted

技术标签:

【中文标题】缺少 mysqli 扩展。请检查您的 PHP 配置【英文标题】:The mysqli extension is missing. Please check your PHP configuration 【发布时间】:2012-05-25 16:12:28 【问题描述】:

我浏览了所有可以找到与此问题和我的问题相关的论坛,但没有任何效果。我有 apache2.2 和 php5、phpMyAdmin 和 mysql。我取消了扩展的注释,我检查了我的phpinfo() 并且 mysqli 没有出现。我的配置目录在它应该在的位置,但它仍然不会加载。

【问题讨论】:

你重启了apache吗?为了使 php.ini 中的更改生效,需要重新启动 apache。另外,从命令行尝试 php -m。 Sql Server 和这个有什么关系? 是的,我已经重新启动了 apache,并在命令行中尝试了你的 php -m。还没有任何效果。 当我将我的 php 版本从 5.6 更新到 7 时,我遇到了同样的问题,我必须做的解决方案是尝试检查我的 httpd-xampp 配置文件。确保 Php-Module 符合您当前的 php 版本。此处示例: IfModule php5_module 根据我的迁移,我使用的是 php7,因此将我的配置文件中的所有 php5_module 标签编辑为 php7_module 并重新启动 apache 服务器。 关于错误信息:“缺少mysqli扩展。请检查您的PHP配置。See our documentation for more information。” - 另见Dude, where's my php.ini? (server config) 并在编辑正确的之后重新启动 PHP-FPM 和/或网络服务器进程。 【参考方案1】:

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

【讨论】:

【参考方案2】:

如果你的配置文件没问题,但还是有同样的问题,请根据安装的php版本安装php7.x-mysql。

例如,在我的例子中,我使用的是 php7.3,所以我运行了以下命令来完成所有设置:

sudo apt install php7.3-mysql

systemctl reload apache2

【讨论】:

并在 systemctl reload apache2 后运行 这对我有用。【参考方案3】:

替换

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

有关注

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

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

【讨论】:

【参考方案4】:

在我的情况下,我在完全安装 Debian 10 后遇到了类似的问题。

命令行: php -v 显示我正在使用 php7.4 但打印 phpinfo() 给我 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

【讨论】:

【参考方案5】:

在您的 Xampp 文件夹中,打开 PHP 文件夹中的 php.ini 文件,即 xampp\php\php.ini(使用文本编辑器)。

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

将mysqli改成正确的路径地址,即extension=C:\xampp\php\ext\php_mysqli.dll

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

【讨论】:

【参考方案6】:
    找出which php.ini is used。

    在文件 php.ini 中这一行:

    extension=mysqli
    

    替换为:

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

【讨论】:

好的,为我工作。但是将绝对路径设置为 extension_dir 的值(即 extension_dir = "c:\php\ext")似乎是一个更优雅的解决方案。 将 include_path=C:\Program Files (x86)\xampp\php\PEAR 替换为 include_path="C:\Program Files (x86)\xampp\php\PEAR"【参考方案7】:

sudo apt-get install php7.2-mysql

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

sudo service apahce2 restart

请使用以上命令解决mysqli-extension 缺失错误

【讨论】:

太棒了! linux 用户的唯一答案【参考方案8】:

这是扩展目录的问题。您需要手动更改 php 扩展目录才能工作。

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

转到设置 -> PHP -> 配置

在php7.3.ini中查找,(版本可能会改变)

extension_dir = "" , (已经有路径)

并将值更改为

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

如果您使用的是 XAMP

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

在php.ini中找到extension_dir =,并设置本地机器的php扩展文件夹的路径。请参见下面的示例。

extension_dir = "C:\php\ext" (正确检查你的路径)

【讨论】:

【参考方案9】:

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

    你必须将 PHP 安装到 C:/php 或者您当前的版本将其定位到此路径并将其指定为系统变量

    然后打开xampp程序并点击config并打开php.ini 并取消注释以下行:

    extension=pdo_mysql
    extension=pdo_mysql
    extension=openssl
    

【讨论】:

【参考方案10】:

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

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

; On windows:
;extension_dir = "ext"

如果扩展被禁用,则通过更改启用扩展

;extension=mysqli

extension=mysqli

【讨论】:

【参考方案11】:

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

【讨论】:

【参考方案12】:

我一直在寻找几个小时,没有人可以帮助我。我做了一个 简单的事情来解决这个问题。 (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" 但不起作用。

【讨论】:

【参考方案13】:

我今天遇到了这个问题,最终我意识到是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

这解决了我的问题。

【讨论】:

【参考方案14】:

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

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

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

重启 apache 后一切正常。

【讨论】:

【参考方案15】:

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

【讨论】:

【参考方案16】:

这篇文章可以帮助你Configuring PHP with MySQL for Apache 2 or IIS in Windows。看“在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 扩展目录的绝对路径。

【讨论】:

以上是关于缺少 mysqli 扩展。请检查您的 PHP 配置的主要内容,如果未能解决你的问题,请参考以下文章

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

缺少 mysqli 扩展。请检查您的 PHP 配置,即使文件在定义的路径中可用

缺少 mysqli 扩展.请检查 PHP 配置?

为啥登陆phpadmin的界面提示缺少mysqli扩展,请检查php配置

phpMyAdmin 错误:缺少 mbstring 扩展名。请检查您的 PHP 配置

linux系统 无法加载mysql扩展。请检查您的PHP配置。