Подавить фиктивный PHP imap_open () Примечание: объявлен небезопасный сервер AUTH = PLAIN - PullRequest
9 голосов
/ 19 марта 2012

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

Примечание PHP: Неизвестно: ПРОБЛЕМА БЕЗОПАСНОСТИ: объявлен небезопасный сервер AUTH = PLAIN (errflg = 1) в поле Неизвестно в строке 0

(я подключаюсь к службе IMAP, которая только прослушивает localhost на сервере без сторонних пользователей.)

Ответы [ 3 ]

15 голосов
/ 17 июля 2012

Одна вещь, которую вы можете сделать, это использовать функции imap_errors и imap_alerts , поместите этот код перед вашим imap_close.

imap_errors();
imap_alerts();

Что эти функции возвращаютвсе ошибки и предупреждения, которые произошли, а затем сбрасывают их.Если вы не вызываете эти функции, они выдаются как уведомления при вызове imap_close () или страница умирает.

2 голосов
/ 20 августа 2013

Как сказала Десезе, это на самом деле не «поддельное» сообщение, это просто означает, что это незашифрованное незашифрованное соединение.Вот как вы можете сделать:

$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');
}
1 голос
/ 19 марта 2012

Вы можете получить все предупреждения и ошибки, подавляя уведомления, используя это:

error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE);

Флаги сообщения об ошибках на уровне битов:

Error Bit           Purpose
###############################################################################
E_ALL               All errors and warnings (doesn't include E_STRICT)
###############################################################################
E_ERROR             Fatal run-time errors
###############################################################################
E_WARNING           Run-time warnings (non-fatal errors)
###############################################################################
E_PARSE             Compile-time parse errors
###############################################################################
E_NOTICE            Run-time notices (these are warnings which often result 
                    from a bug in your code, but it's possible that it was 
                    intentional (e.g., using an uninitialized variable and 
                    relying on the fact it's automatically initialized to 
                    an empty string)
###############################################################################
E_STRICT            Run-time notices, enable to have PHP suggest changes to 
                    your code which will ensure the best interoperability 
                    and forward compatibility of your code.
###############################################################################
E_CORE_ERROR        Fatal errors that occur during PHP's initial startup
###############################################################################
E_CORE_WARNING      Warnings (non-fatal errors) that occur during PHP's 
                    initial startup
###############################################################################
E_COMPILE_ERROR     Fatal compile-time errors
###############################################################################
E_COMPILE_WARNING   Compile-time warnings (non-fatal errors)
###############################################################################
E_USER_ERROR        User-generated error message
###############################################################################
E_USER_WARNING      User-generated warning message
###############################################################################
E_USER_NOTICE       User-generated notice message
###############################################################################

Вы также можете установить ignore_repeated_errorsTRUE / 1, чтобы он не затоплял ваш журнал.

ini_set('ignore_repeated_errors',1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...