Как мне отладить PHP WSOD? - PullRequest
       10

Как мне отладить PHP WSOD?

0 голосов
/ 12 октября 2010

Очень редко я получаю загадочную ошибку PHP "белый экран смерти" - ничего не отображается и не регистрируется, даже при следующих настройках:

ini_set("error_reporting",E_ALL);
ini_set("display_errors",true);
ini_set("log_errors",true);
ini_set("display_startup_errors",true);
ini_set("html_errors",false);
ini_set("error_log","/var/log/php_error_log");

Я где-то читал, что ошибки буферизации вывода или ограничения памяти могут не приводить к выводу ошибок, но ранее (например) я обнаружил, что WSOD просто вызван __autoload () при поиске отсутствующего файла класса.

Кто-нибудь нашел способ сделать эти ошибки видимыми? Я ненавижу комментировать блоки кода.

Спасибо

1 Ответ

3 голосов
/ 12 октября 2010

У меня недавно была похожая проблема, и оказалось, что программный пакет, который я использовал, переопределял параметры ведения журнала, поэтому я никогда не видел журналы в определенных ситуациях. Поскольку вы помещаете настройки в INI-файл, я предполагаю, что вы используете php.ini, существует большая вероятность того, что что-то ближе к месту выполнения кода меняет настройки.

Я бы посоветовал поместить error_reporting(E_ALL | E_STRICT); в файл, вызывающий проблему, и посмотреть, улучшит ли это ситуацию.

...