Я получаю беспорядок этих ложных предупреждений в моем файле журнала, и я хотел бы подавить их, не подавляя законные сообщения:
Замечание 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);