Подавить фиктивный PHP imap_open () Примечание: небезопасный сервер рекламируется AUTH = PLAIN

Я получаю беспорядок этих ложных предупреждений в моем файле журнала, и я хотел бы подавить их, не подавляя законные сообщения:

Замечание 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);