php.ini配置完备却无法加载Mysqli扩展的问题及解决
mysqli扩展在PHP 8(Windows 11)中无法加载的排查与解决
问题概述
已知dl()函数已废弃,尝试所有常规配置指引后,仍无法让mysqli扩展在PHP中正常工作。环境为Windows 11系统下的PHP 8.0.1(MAMP部署)。
已完成的排查操作
- 确认生效的php.ini文件:通过
phpinfo()确认当前加载的配置文件路径为C:\MAMP\conf\php8.0.1\php.ini - 验证extension_dir配置:该文件第543-544行配置如下,且与
phpinfo()中显示的extension_dir参数完全一致:; Directory in which the loadable extensions (modules) reside. extension_dir = "C:\MAMP\bin\php\php8.0.1\ext\" - 确认扩展文件与启用状态:
- 已核实
C:\MAMP\bin\php\php8.0.1\ext\目录下存在php_mysqli.dll文件 - php.ini第671-673行已启用mysqli扩展(配置项未注释,且
extension标记格式与其他已生效配置一致):extension=php_exif.dll extension=php_mysqli.dll extension=php_pdo_sqlite.dll
- 已核实
- 重启验证:已多次重启服务器及系统,但通过
phpinfo()和extension_loaded('mysqli')检测,扩展始终未加载 - 检查Apache配置:确认Apache24的
httpd.conf中PHPIniDir指向当前加载的php.ini,配置无修改异常
解决方案与推测
将php.ini中extension_dir的值修改为"C:\php\ext"后,mysqli扩展成功加载。两个目录下均存在php_mysqli.dll文件,推测问题根源与PHP初始安装路径的关联配置有关。
内容的提问来源于stack exchange,提问作者Lucky Uche
相关产品推荐
相关产品推荐

