E_ALL | E_COMPILE_ERROR не показывает фатальную ошибку (функция переопределения не может)

Для этой ошибки: Неустранимая ошибка: Невозможно повторно объявить sc_trace_page () (ранее объявлено [… yadayada]

Я попробовал все это:

error_reporting('E_ALL ^ E_NOTICE');
error_reporting('E_ALL | E_COMPILE_ERROR');
error_reporting('E_COMPILE_ERROR |E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR|E_PARSE');
error_reporting(32767);

Только 32767 показывает ошибку. Даже в error_log. И WAMP, и хостинг под брендом имени. Кажется, довольно не умно, что я мог иметь E_ALL и не показывать мне … «ВСЕ» ошибки. Но, конечно, я не хочу уведомлений.

Итак, что я не понимаю и как получить правильное сообщение об ошибке?

0

Решение

Вы пытались сообщить об ошибке (E_ALL & ~ E_NOTICE) хотя бы в вашем WAMP? Это константы, а не строки, так что .. без кавычек!

Вы также можете объявить функцию, только если она не была объявлена ​​ранее.

if (!function_exists('my_function')) {
function my_function(){

}
}
1

Другие решения

error_reporting(32767); не что иное, как десятичное представление error_reporting(E_ALL); Обратите внимание, что вокруг этих значений нет кавычек, так как они являются предопределенными константами ошибок.

Вы хотите узнать, какая комбинация констант error_reporting перехватывает желаемую отчетность, которую вы ищете.

Попробуйте смешать и сопоставить константы ошибок, указанные в PHP документация или если вы хотите продолжить десятичное представление, попробуйте эту ссылку

1