PHP内置服务器连接XAMPP的MySQL报错未定义mysqli_connect()函数如何解决
报错解决方案
核心原因
该错误是运行PHP内置服务器的PHP环境未启用mysqli扩展导致,和XAMPP的MySQL服务运行状态无关。
解决步骤
方案1:直接使用XAMPP内置的PHP启动服务(无需修改配置,最便捷)
XAMPP自带的PHP已经默认开启了mysqli扩展,直接调用XAMPP路径下的PHP二进制文件启动内置服务器即可:
Windows环境默认执行命令:C:\xampp\php\php.exe -S localhost:4000
macOS环境默认执行命令:/Applications/XAMPP/bin/php -S localhost:4000方案2:给当前命令行关联的PHP环境启用mysqli扩展
- 执行命令
php --ini,找到Loaded Configuration File对应的php.ini文件路径 - 打开php.ini文件,搜索
extension=mysqli,如果行首有分号注释,删掉分号后保存- Windows环境需要额外确认
extension_dir配置指向PHP目录下的ext文件夹,且extension=php_mysqli.dll行取消注释
- Windows环境需要额外确认
- 执行命令
php -m,确认返回的模块列表中存在mysqli即说明扩展启用成功 - 重启PHP内置服务器即可
- 执行命令
额外优化提示:你当前的数据库连接代码存在兼容问题,如果连接失败mysqli_connect会返回布尔值false,此时调用$conn->connect_error会抛出二次错误,建议替换为更规范的面向对象写法:
$host = "127.0.0.1"; $port = 3306; $user = "root"; $password = ""; $db = "company"; $conn = new mysqli($host, $user, $password, $db, $port); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
内容的提问来源于stack exchange,提问作者Sowmiya
相关产品推荐
相关产品推荐

