2017-02-14 8 views
0

Я пытаюсь скрыть устаревшее предупреждение на сайте, и поэтому добавил error_reporting(E_ALL^E_DEPRECATED);, но это не имеет никакого эффекта. У меня есть следующий тест работает:Error_reporting не влияет на уровень ошибки

error_reporting(E_ALL^E_DEPRECATED); 
var_dump(E_ALL^E_DEPRECATED, error_reporting()); 

И var_dump выводит int(24575) int(32759), как вы можете видеть error_reporting не быть установлен. Я также попробовал error_reporting(24575); на всякий случай, и это тоже ничего не делало.

Я проверил ini_get('error_reporting');, а также возвращает 32759. Использование ini_set('error_reporting', E_ALL^E_DEPRECATED); также не изменяет уровень ошибки.

Немного больше информации о сервере: это VPS, настроенный через WHM, используемый для целей разработки. Этот сайт работает на PHP 5.6 FPM. Сегодня утром сервер был обновлен до Easy Apache 4, чтобы включить PHP 7, хотя 5.6 остался в качестве опции для более старых сайтов, таких как этот.

Кто-нибудь знает почему error_reporting не меняет уровень ошибки? Я пробовал поиск в Google, но все, что я получаю, это вопросы о том, как получить ошибки, чтобы показать или скрыть, ничего о том, почему error_reporting не меняет уровень ошибки.

+0

'error_reporting (E_ALL & ~ E_DEPRECATED);' – Daan

+0

Пробовал это, без разницы. – Styphon

+0

Что делает 'ini_get ('error_reporting')' return? – Daan

ответ

0

Оказывается, это был PHP-FPM, по-видимому, он не позволяет вам напрямую изменять конфигурационные переменные. Единственное место, которое можно изменить, - это файл конфигурации для PHP-FPM. Я отключил FPM для этого сайта, и теперь он работает нормально.

 Смежные вопросы

  • Нет связанных вопросов^_^