Moodle插件中的调试信息

Debug Info from Moodle Plugin

本文关键字:调试 信息 插件 Moodle      更新时间:2023-09-26

我是Moodle的新手。我正在尝试创建一个本地插件,当用户注册/注销时,它将自动执行任务(发送电子邮件)。

在开发这个插件时,我试图echoprint_r提供一些信息,用于调试和跟踪。

代码和一样简单

function perform_enrol($eventdata){
        echo 'Hello World';
        print_r($eventdata);
        return true;
}

然而,当代码执行时,我会出现以下错误:

> Syntax Error File:
> http://192.168.10.60/moodle/theme/yui_combo.php?3.9.1/build/simpleyui/simpleyui.js&3.9.1/build/loader/loader.js
> Line: 18541

当我注释掉echoprint_r时,代码运行良好。对于print_objectdebug或任何其他打印功能,同样的问题仍然存在。

有没有一种从插件中打印的特定方法。我在过去的核心代码中使用过这些函数,并且似乎工作得很好。

当我调试Moodle时,我通常使用error_log将消息直接打印到web服务器的错误日志(在Apache的类似Debian的发行版中为/var/log/apache2/error.log)。

因此,为了检查某个变量,我需要使用一个函数,将其作为字符串返回。类似这样的东西:

error_log('My variable x is: ' . print_r($variable, true));

或者:

error_log('My variable x is: ' . var_export($variable, true));

查看此问题以获取更多信息:如何将var_dump的结果捕获到字符串中?

这不是来自插件的调试消息的问题。这是由于在Ajax请求之前输出一条消息。请检查特定插件或Moodle默认页面中是否有任何ajax请求。没有特定于插件的调试消息。您可以使用任何内置于调试函数中的php。

希望这能有所帮助。