2012-01-22 2 views
3

В моем скрипте PHP у меня были ошибки, обращенные на E_ALL. Затем вокруг моих представлений я добавляю выходной буфер, который начинается и заканчивается с ob_start()/ob_flush. Проблема, с которой я столкнулась сейчас, - это уведомления, которые не будут отображаться, если они произойдут, но Fatal errors будут.Буферизация вывода не отображает уведомление об ошибке

У кого-нибудь есть идея, почему это происходит и как его можно изменить?

Если это имеет значение, я запускаю PHP 5.3.3 на сервере Centos 6 с Apache.

+1

Буферизация вывода не отключает и не скрывает ошибки; вы, вероятно, изменили некоторые настройки в другом месте, которые скрывают от вас ошибки. – Repox

+0

Нет, я в MVC. Контроллер переднего конца имеет error_reporting (E_ALL); Все, что я сделал, это обернуть представления в выходной буфер. Я хочу, чтобы уведомления отображались, чтобы помочь мне отлаживать, а не отключать их. –

+0

Тем не менее, буферизация вывода не отключает и не скрывает ошибки, предупреждения или уведомления. Несмотря на то что вы сказали контроллеру frontend, что error_reporting должен быть включен, настройки с сервера могут переопределить это. Это возможно. – Repox

ответ

1

Корректировать php.ini:

  1. Убедитесь, что у вас есть соответствующие error_level набор (см: http://www.php.net/manual/en/function.error-reporting.php).
  2. Убедитесь, что значение display_errors установлено равным Вкл. В средах dev/test и Off в рабочей среде.
  3. log_errors=/tmp/phperrors.log.

Тогда вы должны быть покрыты.

Смежные вопросы