Moodle_39_STABLE安装时出现database driver problem detected错误求助
解决Moodle安装时的MySQLi扩展配置问题
看起来你踩了几个PHP扩展配置里的常见坑,我帮你梳理下可能的错误点和修正步骤:
1. 混淆了mysql和mysqli扩展
你提到启用了php7.4_mysql扩展,但Moodle 3.9依赖的是mysqli扩展(注意多了个"i")——这是两个完全不同的扩展:mysql是已废弃的旧版MySQL客户端扩展,而mysqli是当前官方推荐的、支持面向对象和过程式调用的扩展,也是Moodle明确要求的驱动。
Ubuntu下安装PHP7.4的mysqli扩展需要执行:
sudo apt-get update && sudo apt-get install php7.4-mysqli
2. 修改了错误的php.ini文件
Ubuntu系统中,PHP的CLI版本和Apache模块版本使用的是独立的php.ini配置文件:
- Apache服务对应的配置文件路径是
/etc/php/7.4/apache2/php.ini - CLI命令行对应的配置文件路径是
/etc/php/7.4/cli/php.ini
你大概率误改了CLI版本的php.ini,但Apache服务根本不会读取这个文件。请编辑Apache对应的配置文件,并确认其中存在(或添加):
extension=mysqli
注:mysqlnd是mysqli的底层驱动,PHP7.4默认已经集成,不需要单独取消注释,除非你之前手动禁用过它。
3. 未验证扩展是否真正加载
修改配置并重启服务后,一定要确认mysqli扩展是否被Apache成功加载:
- 在你的网站根目录(比如
/var/www/html)创建一个info.php文件,内容如下:
<?php phpinfo(); ?>
- 访问
http://你的服务器IP/info.php,在页面中搜索mysqli关键字。如果能看到完整的mysqli模块信息,说明加载成功;如果没有,说明配置或安装步骤仍有问题。
4. 重启服务的方式可能不正确
确保你用正确的命令重启Apache服务,保证配置完全生效:
sudo systemctl restart apache2
最后检查
完成以上步骤后,回到Moodle安装页面重新尝试连接数据库,应该就能解决这个驱动检测问题了。
内容的提问来源于stack exchange,提问作者Nishar sheik




