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


The mysqli extension is missing. Please check your PHP configuration

我已经浏览了所有与这个问题和我的问题相关的论坛,但没有任何效果。我有带有php5,phpMyAdmin和MySQL的apache2.2。我已经取消了扩展名的评论,我已经检查了我的phpinfo(),mysqli 没有出现。我的配置目录在它应该在的位置,但它仍然无法加载。

  1. 找出使用哪个 php.ini。
  2. 在文件 php 中.ini这一行:

    extension=mysqli
    
  3. 替换为:

    extension="C:'php'ext'php_mysqli.dll"
    
  4. 重启阿帕奇

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

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

sudo apt install php7.3-mysql
systemctl reload apache2
我知道

这是一段时间前的事了,但我遇到了这个问题并遵循了这里的其他答案,但无济于事,我通过这个问题找到了解决方案(堆栈溢出问题(

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

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

重新启动 apache 后,一切都按预期工作。

  • 在 Xampp 文件夹中,打开 PHP 文件夹中php.ini文件,即xampp'php'php.ini(使用文本编辑器(。

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

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

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

sudo apt-get install php7.2-mysql

extension=mysqli.so (add this php.ini file(

sudo service apahce2 restart

请使用上述命令来解决mysqli扩展缺失错误

本文可以帮助您在Windows中使用MySQL for 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 扩展目录的绝对路径。

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

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

; On windows:
;extension_dir = "ext"

然后启用扩展(如果通过更改禁用了扩展程序(

;extension=mysqli

extension=mysqli

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

我已经搜索了几个小时,没有人能帮助我。我做了一个解决这个问题很简单。(视窗 10 x64(

遵循这个:

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

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

3 - 打开 php.ini 并搜索行:"扩展名: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"但不起作用。

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

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

    extension=pdo_mysql
    extension=pdo_mysql
    extension=openssl
    

尝试更改PHP版本

$sudo update-alternatives --config php

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

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

我今天遇到了这个问题,最终我意识到是 mysql dll 之前对行的评论导致了问题。

这是你在 php 中应该拥有的.ini默认情况下在 PHP 5.5.16 中:

;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

这解决了我的问题。

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

这是扩展目录的问题。您需要手动更改 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" (正确检查路径(

就我而言,在完全安装 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

替换

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

与以下

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

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

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