Ошибка в ob_start('function')

  • Автор темы Автор темы Ilia
  • Дата начала Дата начала

Ilia

Guest
Ошибка в ob_start('function')

Вызывается ob_start('function');
При этом function определяется, исходя из текста страницы, и может содержать ошибки.

Стандартное поведение - все warnings,errors... просто исчезают. В случае E_ERROR получается пустой файл, без какого-либо сообщения.

Как все же вывести сообщение об ошибке на экран в этом случае ?... Или, по крайней мере, получить к нему доступ.
 
это нормально. так и должно быть.
просто хэндлер вызывается уже тогда, когда работа скрипта завершена, и никакого вывода больше не предполагается.

если очень уж хочется что-то вывести, то возвращай из хэндлера весь полученный буфер с добавленным к нему сообщением об ошибке.
PHP:
function handler($buf) {
  return $buf."ERROR!";
}

ob_start("handler");
echo "TEST";
 
Ошибка содержится в тексте самой функции 'function' (у тебя - 'handler'.)
 
это - особенная функция. там не должно быть ошибок =)
 
Да ваще ошибок быть не должно...

Но задача в том, что там есть ошибка нужен по ней рапорт.
E_WARNING можно отловить, E_PARSE вылезет всегда, а E_ERROR пропадают начисто.
 
а зови тогда функцию до окончания работы скрипта, т.е. без вызова ob_start():
PHP:
handler(ob_get_contents());
...и ищи там ошибку. как найдёшь -- поставишь потом всё обратно, где росло.
 
Сверху