我正在建立一个网站,一切正常突然我的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条答案
按热度按时间ldxq2e6h1#
这个错误是不言自明的。您的系统未配置为启用mysqli。您必须确保扩展已正确安装和启用。
如果缺少mysqli,请安装它
sudo apt get安装php mysql
对于ubuntu,我似乎记得不建议您直接编辑php.ini,而是使用phpenmod来启用模块。
例子
phpenmod mysqli公司
要在php中检查mysqli设置,可以运行
php-r'phpinfo();'|grep-i mysqli公司
fhity93d2#
安装包含您的软件包的其中一个软件包。选择最新版本:
另外,安装软件包时,请确保使用以下命令更新库:
下面是一些php包的示例
ecfdbz9o3#
您只需取消对以下行的注解;php.ini中的extension=mysqli.so
要取消对此行的注解,只需删除首字母(;)从线路上。保存ini文件并重新启动服务器。应该有用的