我正在建立一个站点,并且一切正常,突然我的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
答案 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文件并重新启动服务器。 它应该工作