提问人:Wesley 提问时间:5/18/2012 最后编辑:DharmanWesley 更新时间:9/19/2022 访问量:192025
缺少 mysqli 扩展。请检查您的PHP配置
The mysqli extension is missing. Please check your PHP configuration
问:
我已经浏览了所有我能找到的与这个问题和我的问题相关的论坛,但没有任何效果。我有 apache2.2 和 php5、phpMyAdmin 和 MySQL。我已经取消了对扩展的注释,我已经检查了我的并且mysqli没有出现。我的配置目录是它应该在的地方,但它仍然无法加载。phpinfo()
答:
本文可以帮助您在 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 扩展目录的绝对路径。
将libmysql.dll从 PHP 安装文件夹复制到 windows 文件夹。
我知道这是很久以前的事了,但我遇到了这个问题并遵循了这里的其他答案,但无济于事,我通过这个问题找到了解决方案(Stackoverflow 问题)
基本上只需要编辑php.ini文件(我的文件是在 c:\xampp\php\php.ini 中找到的)并取消注释这些行......
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_pdo_mysql.dll
重新启动apache后,一切正常。
我今天遇到了这个问题,最终我意识到是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
这解决了我的问题。
- 找出使用的php.ini。
在文件php.ini此行:
extension=mysqli
替换为:
extension="C:\php\ext\php_mysqli.dll"
- 重启 apache
评论
我已经找了好几个小时了,没有人能帮助我。我做了一个 解决这个问题很简单。(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”但没有用。
我只是将我的 php_myslqli.dll 文件从 ert 文件夹复制回 php 文件夹,从控制面板重新启动我的 Apache 和 MySQL 后,它对我有用
只需在php.ini文件中指定可加载扩展(模块)所在的目录
; On windows:
extension_dir="C:\xampp\php\ext"
自
; On windows:
;extension_dir = "ext"
然后启用扩展(如果扩展已禁用),请将
;extension=mysqli
自
extension=mysqli
我遇到了同样的问题,我解决了它。如果您按照以下步骤操作,您也可以解决它:
- 您必须将 PHP 安装到 C:/php 或您当前的版本,将其定位到此路径并将其指定为系统变量
然后打开 XAMPP 程序,单击 Config 并打开php.ini 并取消注释以下行:
extension=pdo_mysql extension=pdo_mysql extension=openssl
这是一个扩展目录的问题。您需要手动更改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” (正确检查您的路径)
sudo apt-get 安装 php7.2-mysql
extension=mysqli.so(添加此php.ini文件)
sudo 服务 apache2 重启
请使用上述命令解决mysqli-extension丢失错误
如果您的配置文件没问题,但仍然有相同的问题,请根据已安装的 php 版本安装 php7.x-mysql。
例如,就我而言,我使用的是php7.3,因此我运行了以下命令来设置所有内容:
sudo apt install php7.3-mysql
systemctl reload apache2
评论
在您的 Xampp 文件夹中,打开 PHP 文件夹中的文件,即(使用文本编辑器)。
php.ini
xampp\php\php.ini
搜索 (Ctrl+F),如果有两个,请查找未注释的那个(后面没有“;”)
extension=mysqli
使用正确的路径地址更改mysqli,即。
extension=C:\xampp\php\ext\php_mysqli.dll
在 Xampp 控制面板上,停止和启动 apache 和 MySQL
评论
;extension_dir = "ext"
extension_dir = "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
尝试更改 PHP 版本
$sudo update-alternatives --config php
如果它不起作用 例如,从 PHP 5.6 更改为 PHP 7.1 >
$ sudo a2dismod php5.6
$ sudo a2enmod php7.1
$ sudo service apache2 restart
评论