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

时间:2012-05-18 04:18:36

标签: mysql apache

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

16 个答案:

答案 0 :(得分:4)

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

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

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

重新启动apache后,所有操作都按预期工作。

答案 1 :(得分:3)

  1. 在php.ini文件中,此行: extension = mysqli

  2. 替换为: extension =“ C:\ php \ ext \ php_mysqli.dll”

  3. 重新启动apache

答案 2 :(得分:3)

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

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

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

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

答案 3 :(得分:2)

本文可以帮助您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扩展目录的绝对路径。

答案 4 :(得分:2)

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

例如,在我的情况下,我使用的是php7.3,因此我运行了以下命令来设置所有设置:

id | amount | user_id
1  | 500    | 1
2  | 200    | 2
3  | 150    | 1
4  | 100    | 3

答案 5 :(得分:1)

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

答案 6 :(得分:1)

我一直在搜索几个小时,没有人可以帮助我。我做了一个 解决这个问题的简单方法。 (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”,但没有用。

答案 7 :(得分:1)

我遇到了同样的问题,并且解决了。如果您遵循以下步骤,也可以解决此问题:

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

    extension=pdo_mysql
    extension=pdo_mysql
    extension=openssl
    

答案 8 :(得分:1)

sudo apt-get install php7.2-mysql

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

sudo service apahce2 restart

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

答案 9 :(得分:0)

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

这解决了我的问题。

答案 10 :(得分:0)

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

答案 11 :(得分:0)

只需通过

在php.ini文件中指定可加载扩展(模块)所在的目录。
; On windows:
extension_dir="C:\xampp\php\ext"

; On windows:
;extension_dir = "ext"

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

;extension=mysqli

extension=mysqli

答案 12 :(得分:0)

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

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

转到设置-> 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”(正确检查您的路径

答案 13 :(得分:0)

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

答案 14 :(得分:0)

替换

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

以下内容

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

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

答案 15 :(得分:0)

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