Когда наш сайт был на хостинге 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);