Информация об отладке из плагина Moodle

Я новичок в Moodle. Я пытаюсь создать локальный штекер, который будет выполнять задачи (отправка электронной почты) автоматически, когда пользователь будет зарегистрирован / незапущен.

Разрабатывая этот плагин, я пытаюсь выполнить echo или print_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 

Когда я комментирую echo и print_r , код работает нормально. Такая же проблема сохраняется и для print_object , debug или любых других функций печати.

Есть ли способ печати из плагинов. Я использовал эти функции в основном коде в прошлом и, кажется, работает нормально.

Когда я отлаживаю Moodle, я обычно использую error_log для печати сообщения прямо в журнале ошибок веб-сервера ( /var/log/apache2/error.log в дистрибутиве, подобном Debian, с Apache).

Итак, чтобы проверить какую-то переменную, мне нужно использовать функцию, которая возвращает ее как строку. Что-то вроде этого:

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

Или:

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

Взгляните на этот вопрос для получения дополнительной информации: как я могу захватить результат var_dump в строку?

Это не проблема с отладочным сообщением от плагина. Это происходит из-за вывода сообщения перед запросом Ajax. Проверьте, есть ли какой-либо запрос ajax в конкретном плагине или на страницах Moodle по умолчанию. Для плагинов нет конкретных сообщений об отладке. Вы можете использовать любой php, встроенный в функции отладки.

Надеюсь это поможет.