Белая страница даже с полным error_reporting и display_errors

У меня здесь действительно очень странная ситуация. Я работаю на локальном сервере разработки с установленным Zend Server. У меня есть полный отчет об ошибках и отображать ошибки, но я все еще получаю белую страницу. Конечно, я понимаю, что я сделал что-то не так, но я хочу иметь представление, ЧТО это, я сделал неправильно.

Система, над которой я сейчас работаю, сильно зависит от классов, включений и т. Д., Поэтому я не могу просто "проверить" страницу (т.е. запустить ее автономно, вне системы, вызвать ее напрямую и прочее). Это просто не сработает.

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


Просто чтобы прояснить, я уже использую следующее:

ini_set('display_errors', true); error_reporting(-1);


После использования собственного обработчика ошибок (php.net/set_error_handler) и некоторой жесткой отладки (эхо, выходы и т. Д.) Я обнаружил, что переопределяю переменную, которая использовалась позже. Переменная раньше была объектом, но теперь была int. Странно, что не было никакой ошибки в том факте, что я вызывал функцию для необъекта...

Очень странно, но я рад, что нашел ошибку в своем приложении.

2 ответа

Решение

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

Попробуйте записать, какие ключевые переменные есть в нескольких классах. В худшем случае, добавьте несколько эхо-заявлений здесь и там, чтобы оставаться в здравом уме.

 error_log(print_r($var, true));
Другие вопросы по тегам