PHP mysqli扩展无法加载报错的问题排查及解决方法
Fixing "Call to undefined function mysqli_connect()" Error in PHP (Windows 7 Environment)
我之前在Windows 7系统上,用Apache 2.4.47、PHP 7.1.7和MySQL 5.7开发时,碰到过一模一样的致命错误:
Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in 'file_name' Stack trace: #0 {main} thrown in 'file_name'
当时第一时间排查扩展加载情况,执行print_r(get_defined_functions())后发现,mysqli相关函数确实没被加载进来。可明明已经在php.ini里把extension=mysqli这行的注释去掉了,PHP目录也添加到系统PATH里了,甚至还纠结过php_mysqli.dll只有97k是不是异常(后来确认这个大小在PHP 7.1.7的Windows版本里是正常的)。
折腾了好一会儿,终于找到了解决方案:
- 打开你的php.ini配置文件,找到已经启用的
extension=mysqli那一行 - 在这行下方添加指定扩展目录的配置:
extension_dir="C:\你的PHP安装路径\ext"(比如我的是extension_dir="C:\php7.1.7\ext",替换成你实际的路径即可) - 保存php.ini文件,然后重启Apache服务器,让新的配置生效
完成这些步骤后,mysqli扩展就能正常加载,mysqli_connect()函数也就可以正常调用了。
内容的提问来源于stack exchange,提问作者user9211168
相关产品推荐
相关产品推荐

