php突然引发错误“缺少mysqli扩展名。请检查您的PHP配置。有关更多信息,请参见我们的文档。”

时间:2018-11-12 07:21:16

标签: php mysql mysqli

我正在建立一个站点,并且一切正常,突然我的php抛出了错误

The mysqli extension is missing. Please check your PHP configuration. See our documentation for more information.

当我输入php --version时,我会得到响应:

PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqli.so' (tried: /usr/lib/php/20170718/mysqli.so (/usr/lib/php/20170718/mysqli.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/mysqli.so.so (/usr/lib/php/20170718/mysqli.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

,对于mysql --version,响应为:

mysql  Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper

我的ubuntu版本是18.04。有什么地方会出错?请帮忙。我没有进行任何升级或安装

而我在php.ini中的扩展名是

;extension=bz2
;extension=curl
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
;extension=mysqli.so
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=snmp

;extension=soap
;extension=sockets
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl

3 个答案:

答案 0 :(得分:2)

该错误非常不言自明。您的系统未配置为启用 mysqli 。您必须确保扩展程序已正确安装并启用。

如果缺少mysqli,则安装

  

sudo apt-get install php-mysql

对于Ubuntu,我似乎记得不建议您直接编辑php.ini,而应使用 phpenmod 启用模块。

示例

  

phpenmod mysqli

要检查PHP中的mysqli设置,您可以运行类似的

  

php -r'phpinfo();' | grep -i mysqli

答案 1 :(得分:1)

安装包含您的软件包的软件包之一。选择最新的:

另外,在安装软件包时,请确保使用以下命令更新了库:

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install php7.2-mysql

这是一些php包的示例

apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml

答案 2 :(得分:1)

您只需要取消注释以下行 ; extension = mysqli.so在php.ini中

要取消注释该行,只需从该行中删除初始(;)。保存ini文件并重新启动服务器。 它应该工作