来自Moodle插件的调试信息

时间:2013-08-14 06:10:09

标签: php javascript plugins moodle

我是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或任何其他打印功能也会出现同样的问题。

是否有特定的方法从插件打印。我过去在核心代码中使用过这些函数,似乎工作正常。

2 个答案:

答案 0 :(得分:4)

当我调试Moodle时,我通常使用error_log将消息直接打印到Web服务器的错误日志中({(1}}与Apache的类似Debian的发行版中)。

因此,要检查一些变量,我需要使用一个将其作为字符串返回的函数。像这样:

/var/log/apache2/error.log

或者:

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

请查看此问题以获取更多信息:How can I capture the result of var_dump to a string?

答案 1 :(得分:0)

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

希望这有帮助。