Ubuntu PHP致命错误:调用..中未定义的函数mysqli_connect()。。调用PHP脚本时

Ubuntu PHP致命错误:调用..中未定义的函数mysqli_connect()。。调用PHP脚本时,php,apache,mysqli,Php,Apache,Mysqli,我运行LTS(Trusty Tahr),并尝试设置Apache 2、MySQL服务器和PHP,但我一直遇到以下错误: PHP致命错误:调用..中未定义的函数mysqli_connect() 我在正确的php.ini中做了以下更改: 取消注释: 扩展名=msqli.so 从phpinfo()获取的设置路径: extension_dir=“/usr/lib/php5/20121212+lfs” 为什么连接数据库的mysqli函数仍然没有定义?在我的例子中,我的Ubuntu服务器缺少php5-mysq

我运行LTS(Trusty Tahr),并尝试设置Apache 2、MySQL服务器和PHP,但我一直遇到以下错误:

PHP致命错误:调用..中未定义的函数mysqli_connect()

我在正确的php.ini中做了以下更改:

取消注释:

扩展名=msqli.so

从phpinfo()获取的设置路径:

extension_dir=“/usr/lib/php5/20121212+lfs”


为什么连接数据库的mysqli函数仍然没有定义?

在我的例子中,我的Ubuntu服务器缺少php5-mysql。安装包后,mysqli适配器可以正常工作

sudo apt-get install php5-mysql

它解决了我的CodeIgniter 3.0 mysqli连接是否有效的问题。

通常建议运行更新

sudo apt-get update
然后安装所需的版本

sudo apt-get install php5-mysql
sudo apt-get install php7.0-mysql
sudo apt-get install php7.1-mysql
sudo apt-get install php7.2-mysql
重新启动apache

sudo service apache2 restart

我怀疑您没有安装
php\u-mysql
软件包。在命令行上运行此命令:
dpkg--get selections | grep php5 mysql
并查看它是否报告状态为
install
。我不确定Debian软件包与CentOS在名称上有何不同,但您是否安装了
php mysql
php mysqlnd
?后者是首选的
msqli。因此
不是有效的扩展名。它应该是
mysqli.so
sudo-apt-get-install-php5-mysql---将安装它,然后在/etc/php5/apache2/php.iniThanks@Tasos中添加extension=mysqli.so。也在这里工作。不要忘记在那之后重新启动apache
sudo服务apache2 restart