根本原因是AppServ 2.5.10默认未启用mysqli扩展:php.ini中extension=php_mysqli.dll被注释,且extension_dir路径错误或DLL文件不匹配;只需取消注释、修正路径、确认DLL存在并重启Apache即可解决。

AppServ 2.5.10 无法加载 mysqli 模块,根本原因在于它*默认集成的是 MySQL 扩展(`mysql_函数)而非mysqli**,且其 PHP 版本较老(通常为 PHP 5.2.x 左右),而mysqli` 在该版本中虽已存在,但默认未启用或配置缺失。
这不是“模块丢失”,而是 PHP 配置未开启 mysqli 支持,常见于以下几种情况:
一、php.ini 中 mysqli 扩展未启用
AppServ 2.5.10 的 php.ini 文件(通常位于 C:\AppServ\php5\php.ini)里,mysqli 扩展默认是被注释掉的:
;extension=php_mysqli.dll
✅ 解决方法:
- 用记事本打开
C:\AppServ\php5\php.ini - 搜索
php_mysqli.dll,找到这一行,删掉前面的分号;,改为:extension=php_mysqli.dll
- 确保该 DLL 文件真实存在:检查
C:\AppServ\php5\ext\php_mysqli.dll是否存在(若缺失,说明安装包损坏,需重装或补全) - 保存后,重启 Apache 服务(通过 AppServ 控制面板或 Windows 服务管理器)
二、extension_dir 路径配置错误
如果 php.ini 中 extension_dir 指向错误路径,PHP 就找不到 php_mysqli.dll。
例如:
extension_dir = "C:\php\ext" ← 错误(AppServ 实际路径是 C:\AppServ\php5\ext)
✅ 解决方法:
- 在
php.ini中确认extension_dir设置为:extension_dir = "C:\AppServ\php5\ext"
- 注意路径末尾不要加反斜杠
\(某些旧版 PHP 会因此失败)
三、PHP 版本与扩展不匹配(DLL 位数/VC 版本不符)
AppServ 2.5.10 使用的是 VC6 编译、32 位的 PHP,若你手动替换了非官方的 php_mysqli.dll(比如从新版 PHP 复制过来),会导致加载失败,错误日志中可能出现:
“The specified module could not be found.”
✅ 解决方法:
-
只使用 AppServ 自带的
php_mysqli.dll(原始安装包中的文件) - 不要混用其他 PHP 版本的扩展文件
四、Apache 启动时未读取正确的 php.ini
AppServ 有时会因注册表或环境变量干扰,加载了系统其他位置的 php.ini(如 C:\Windows\php.ini)。
✅ 验证方式:
- 新建一个
info.php文件,内容为:<?php phpinfo(); ?>
- 放入
C:\AppServ\www\,用浏览器访问http://localhost/info.php - 查看 Loaded Configuration File 一行,确认路径是否为
C:\AppServ\php5\php.ini - 同时查看 mysqli 是否出现在扩展列表中(搜索页面有无 “mysqli support enabled”)
⚠️ 补充提醒:AppServ 2.5.10 是 2007 年左右发布的老旧集成包,已停止维护。
mysqli虽可启用,但不支持mysqlnd驱动、预处理增强等现代特性。如需稳定开发,建议升级至 XAMPP、WAMP 或 Docker 环境。
不复杂但容易忽略——多数情况只需解开 php.ini 里那一行注释,再重启 Apache。


















