缺少 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 配置,即使文件在定义的路径中可用
为啥登陆phpadmin的界面提示缺少mysqli扩展,请检查php配置