如何解决PHP报错“Call to undefined function mysqli_connect()”?
排查解决步骤
- 确认修改的是正确的php.ini文件
写一个内容为<?php phpinfo(); ?>的文件,命名为phpinfo.php放到XAMPP的htdocs目录,访问localhost/phpinfo.php,搜索Loaded Configuration File项,核对显示的配置文件路径和你修改的是否一致。很多用户误改了PHP CLI版本的配置文件或其他目录下的同名文件,导致配置不生效。 - 验证mysqli扩展是否正常加载
在phpinfo页面搜索mysqli,如果没有对应的扩展信息,说明扩展未成功加载,需检查以下两项:
- 检查php.ini中
extension_dir配置项的路径是否指向XAMPP安装目录下php文件夹的ext子目录 - 确认ext目录下存在mysqli对应的扩展文件(Windows为
php_mysqli.dll,macOS/Linux为php_mysqli.so),且php.ini中扩展配置写法正确:Windows写extension=mysqli.dll,macOS/Linux写extension=mysqli.so
- 重启生效校验
修改完php.ini后必须重启XAMPP的Apache服务,配置才会生效。如果是Windows系统,还需要确认系统环境变量PATH中已添加当前XAMPP的php目录路径,添加后需重启电脑再启动Apache。 - 依赖缺失排查
在你现有代码顶部加入以下两行,打开全量报错显示:
error_reporting(E_ALL); ini_set('display_errors', 1);
运行代码如果提示扩展加载失败相关警告:
- 若提示找不到扩展文件:确认你使用的PHP版本是XAMPP自带版本,自行替换的非配套PHP版本大概率会出现扩展不兼容问题,换回XAMPP默认PHP版本即可
- 若提示VC运行库缺失:Windows系统需安装对应PHP版本的Visual C++ Redistributable运行库,PHP7.x对应VC15版本,PHP8.x对应VS16版本
内容的提问来源于stack exchange,提问作者silva
相关产品推荐
相关产品推荐

