Я получаю беспорядок этих ложных предупреждений в моем файле журнала, и я хотел бы подавить их, не подавляя законные сообщения:
Замечание PHP: Неизвестно: ПРОБЛЕМА БЕЗОПАСНОСТИ: небезопасный сервер рекламируется AUTH = PLAIN (errflg = 1) в Unknown в строке 0
(Я подключаюсь к службе IMAP, которая только слушает localhost на сервере без сторонних пользователей.)
Одна вещь, которую вы можете сделать, это использовать функции imap_errors и imap_alerts , поместить этот код перед вашим imap_close.
imap_errors(); imap_alerts();
То, что эти функции делают, это вернуть все ошибки и предупреждения, которые произошли, а затем сбрасывает их. Если вы не вызываете эти функции, они выдаются как уведомления, когда вызывается imap_close (), или страница умирает.
Как сказал deceze, это не действительно «фиктивное» сообщение, это просто означает, что это незашифрованное соединение с открытым текстом. Вот как вы можете это сделать:
$error = imap_errors(); if (count($error) > 1 || $error[0] != 'SECURITY PROBLEM: insecure server advertised AUTH=PLAIN') { // More than 1 error or not the expected error var_dump($error); throw new Exception('IMAP error detected'); }
Вы можете получить все предупреждения и ошибки при подавлении уведомлений, используя это:
error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE);
Флаги отчетности об уровне бит:
Ошибка Бит Цель ################################################## ############################# E_ALL Все ошибки и предупреждения (не включает E_STRICT) ################################################## ############################# E_ERROR Неустранимая ошибка времени выполнения ################################################## ############################# E_WARNING Предупреждения во время выполнения (нефатальные ошибки) ################################################## ############################# E_PARSE Ошибки анализа времени компиляции ################################################## ############################# E_NOTICE Уведомления о времени выполнения (это предупреждения, которые часто приводят к от ошибки в вашем коде, но возможно, что это было (например, используя неинициализированную переменную и полагаясь на то, что он автоматически инициализируется пустая строка) ################################################## ############################# E_STRICT Уведомления о времени выполнения позволяют включить PHP в ваш код, который обеспечит наилучшую совместимость и форвардная совместимость вашего кода. ################################################## ############################# E_CORE_ERROR Неустранимая ошибка, возникающая при первом запуске PHP ################################################## ############################# E_CORE_WARNING Предупреждения (нефатальные ошибки), возникающие во время PHP первоначальный запуск ################################################## ############################# E_COMPILE_ERROR Неустранимые ошибки времени компиляции ################################################## ############################# E_COMPILE_WARNING Предупреждения о времени компиляции (нефатальные ошибки) ################################################## ############################# E_USER_ERROR Пользовательское сообщение об ошибке ################################################## ############################# E_USER_WARNING Пользовательское предупреждающее сообщение ################################################## ############################# E_USER_NOTICE Пользовательское уведомление ################################################## #############################
Вы также можете установить ignore_repeated_errors
в TRUE / 1, чтобы он не ignore_repeated_errors
ваш журнал.
ini_set('ignore_repeated_errors',1);