You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Moodle_39_STABLE安装时出现database driver problem detected错误求助

解决Moodle安装时的MySQLi扩展配置问题

看起来你踩了几个PHP扩展配置里的常见坑,我帮你梳理下可能的错误点和修正步骤:

1. 混淆了mysqlmysqli扩展

你提到启用了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成功加载:

  1. 在你的网站根目录(比如/var/www/html)创建一个info.php文件,内容如下:
<?php phpinfo(); ?>
  1. 访问http://你的服务器IP/info.php,在页面中搜索mysqli关键字。如果能看到完整的mysqli模块信息,说明加载成功;如果没有,说明配置或安装步骤仍有问题。

4. 重启服务的方式可能不正确

确保你用正确的命令重启Apache服务,保证配置完全生效:

sudo systemctl restart apache2

最后检查

完成以上步骤后,回到Moodle安装页面重新尝试连接数据库,应该就能解决这个驱动检测问题了。

内容的提问来源于stack exchange,提问作者Nishar sheik

火山引擎 最新活动