Sto ottenendo un pasticcio di questi falsi avvisi nel mio file di registro, e mi piacerebbe sopprimerli senza sopprimere i messaggi legittimi:
Avviso PHP: Sconosciuto: PROBLEMA DI SICUREZZA: server insecuro pubblicizzato AUTH = PLAIN (errflg = 1) in Unknown alla row 0
(Mi sto connettendo a un servizio IMAP che sta solo ascoltando localhost su un server senza utenti di terze parti.)
Una cosa che puoi fare è usare le funzioni imap_errors e imap_alerts , posiziona questo codice prima di imap_close.
imap_errors(); imap_alerts();
Che cosa fanno queste funzioni è restituire tutti gli errori e gli avvisi che si sono verificati e quindi li svuota. Se non chiami queste funzioni, vengono emesse come notifiche quando viene chiamato imap_close () o la pagina muore.
Come ha detto l'inganno, non è davvero un messaggio "fasullo", significa solo che si tratta di una connessione in chiaro non crittografata. Ecco come puoi fare:
$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'); }
È ansible get tutti gli avvisi e gli errori mentre si sopprimono le notifiche utilizzando questo:
error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE);
I flag di segnalazione degli errori a livello di bit sono:
Bit di errore Scopo ################################################## ############################# E_ALL Tutti gli errori e gli avvertimenti (non include E_STRICT) ################################################## ############################# E_ERROR Errori irreversibili di runtime ################################################## ############################# E_WARNING Avvisi in fase di esecuzione (errori non fatali) ################################################## ############################# E_PARSE Errori di analisi del tempo di compilazione ################################################## ############################# E_NOTICE Avvisi di runtime (questi sono avvertimenti che spesso risultano da un bug nel tuo codice, ma è ansible che lo fosse intenzionale (es. usando una variabile non inizializzata e basandosi sul fatto che è automaticamente inizializzato a una string vuota) ################################################## ############################# E_STRICT Avvisi in fase di esecuzione, abilitare il PHP a suggerire modifiche a il tuo codice che garantirà la migliore integerperabilità e compatibilità diretta del tuo codice. ################################################## ############################# E_CORE_ERROR Errori fatali che si verificano durante l'avvio iniziale di PHP ################################################## ############################# E_CORE_WARNING Avvertimenti (errori non fatali) che si verificano durante il PHP avvio iniziale ################################################## ############################# E_COMPILE_ERROR Errori fatali in fase di compilazione ################################################## ############################# E_COMPILE_WARNING Avvisi in fase di compilazione (errori non fatali) ################################################## ############################# E_USER_ERROR Messaggio di errore generato dall'utente ################################################## ############################# E_USER_WARNING Messaggio di avviso generato dall'utente ################################################## ############################# E_USER_NOTICE Messaggio di avviso generato dall'utente ################################################## #############################
Puoi anche impostare ignore_repeated_errors
su TRUE / 1 in modo che non ignore_repeated_errors
anche il tuo log.
ini_set('ignore_repeated_errors',1);