Отчеты об ошибках на лету в PHP

Когда наш сайт был на хостинге IIS с установленным PHP, я установил сообщение об ошибках в E_NONE и смог временно включить его, используя:

ini_set('display_errors', 1); 

Теперь эта команда больше не работает, когда мы находимся на хостинге Linux / Apache. Я попытался нарочно отправить плохие команды на сервер, и я не сообщал об ошибках.

Что я делаю не так? Есть ли другой способ временно включить отчет об ошибках без необходимости редактировать php.ini каждый раз?

Вы можете изменить отчет об ошибках на E_ALL используя следующую строку:

 error_reporting(E_ALL); 

Попробуйте добавить это в файл.

Лучший способ включить все ошибки:

 error_reporting( -1 ); 

Это лучше, чем E_ALL, поскольку E_ALL на самом деле не означает все ошибки во всех версиях PHP (это происходит только в самом последнем). -1 – это единственный способ убедиться, что он включен во всех случаях.

Я просто должен был сделать это в одном из моих сценариев. Предупреждения DOMDocument убивали мои журналы. Итак, вот что вы делаете:

 // First, grab a copy of the current error_reporting level // while setting the new level, I set it to zero because I wanted // it off - but you could easily turn it on here $erlevel = error_reporting(0); // Then, do stuff that generates errors/warnings // Finally, set the reporting level to it's previous value error_reporting($erlevel);