moodle-运行sync.php脚本时数据库连接失败

moodle-运行sync.php脚本时数据库连接失败,moodle,Moodle,我正在建立一个moodle插件,用于根据中的说明从外部数据库注册。我成功地设置了一个类似的插件,用于从外部数据库进行身份验证。但是我有一个从外部数据库注册插件的问题。当我测试插件设置时,它是成功的,如下所示 但是当我运行php sync.php时 错误:数据库连接失败 数据库可能过载或运行不正常 站点管理员还应检查config.php中是否正确指定了数据库详细信息 我的moodle版本是3.9.1,我使用的是Mac OS 提前感谢您。首先,打开“调试”以获取错误 最后发现问题是,插件不能与PHP

我正在建立一个moodle插件,用于根据中的说明从外部数据库注册。我成功地设置了一个类似的插件,用于从外部数据库进行身份验证。但是我有一个从外部数据库注册插件的问题。当我测试插件设置时,它是成功的,如下所示

但是当我运行php sync.php时

错误:数据库连接失败

数据库可能过载或运行不正常

站点管理员还应检查config.php中是否正确指定了数据库详细信息

我的moodle版本是3.9.1,我使用的是Mac OS


提前感谢您。

首先,打开“调试”以获取错误

最后发现问题是,插件不能与PHP7.4一起工作(而Moodle可以)


通过将PHP降级到7.2来修复此问题。首先,启用“调试”以获取错误

最后发现问题是,插件不能与PHP7.4一起工作(而Moodle可以)


通过将PHP降级到7.2来修复此问题,我建议将您的moodle置于调试模式-这样您将获得更多信息。(站点管理->开发->调试-然后将“调试消息”设置为开发人员,将“显示调试消息”设置为选中)@Yedidia我这样做了,但我在前端看不到任何错误消息。如何从服务器日志中进行检查?我正在使用MAMP。谢谢。@Yedidia我收到以下错误消息:一个必需的参数(任务)缺少有关此错误的更多信息×调试信息:错误代码:missingparam×堆栈跟踪:第498行/lib/setuplib.php:moodle_异常抛出/lib/moodlelib.php的第562行:调用print_error()/admin/tool/task/schedule_task.php的第44行:调用required_param()@Yedidia。谢谢你的回复。我已经解决了这个问题。Moodle 3.9.1不支持PHP7.4.2,这是在MAMP首选项下选择的默认值。要将其更改为/Applications/MAMP/bin/php,您将看到所有可用的php版本。重命名不需要的版本,方法是在名称中添加下划线“\”。那就离开你妈妈。再次打开MAMP并转到首选项以选择php版本7.2.22。我希望这将对其他人有所帮助。根据moodle的说法,我确实支持php7.4,我正在用7.4运行3.9。。似乎你的插件没有。我建议把你的moodle放在调试模式-这样你会有更多的信息。(站点管理->开发->调试-然后将“调试消息”设置为开发人员,将“显示调试消息”设置为选中)@Yedidia我这样做了,但我在前端看不到任何错误消息。如何从服务器日志中进行检查?我正在使用MAMP。谢谢。@Yedidia我收到以下错误消息:一个必需的参数(任务)缺少有关此错误的更多信息×调试信息:错误代码:missingparam×堆栈跟踪:第498行/lib/setuplib.php:moodle_异常抛出/lib/moodlelib.php的第562行:调用print_error()/admin/tool/task/schedule_task.php的第44行:调用required_param()@Yedidia。谢谢你的回复。我已经解决了这个问题。Moodle 3.9.1不支持PHP7.4.2,这是在MAMP首选项下选择的默认值。要将其更改为/Applications/MAMP/bin/php,您将看到所有可用的php版本。重命名不需要的版本,方法是在名称中添加下划线“\”。那就离开你妈妈。再次打开MAMP并转到首选项以选择php版本7.2.22。我希望这将对其他人有所帮助。根据moodle的说法,我确实支持php7.4,我正在用7.4运行3.9。。似乎你的插件没有。