When using this funtion, be sure to clear your internal error buffer. If you dn't and you are using this in a long running process, you may find that all your memory is used up.
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
libxml_use_internal_errors — Désactive le rapport d'erreur libxml et les stocke pour lecture ultérieure
libxml_use_internal_errors() vous permet de désactiver le gestionnaire d'erreurs libxml standard, et d'activer votre propre gestionnaire d'erreur.
use_errors
Active (true
) le gestionnaire d'erreurs utilisateur
ou le désactive (false
). La désactivation effacera aussi
toutes les erreurs libxml existantes.
libxml_use_internal_errors() retourne la valeur
précédemment configurée pour use_errors
.
Version | Description |
---|---|
8.0.0 |
use_errors est désormais nullable. Auparavant,
sa valeur par défaut était false .
|
Exemple #1 Exemple avec libxml_use_internal_errors()
Cet exemple montre l'utilisation de base des erreurs libxml, et la valeur retournée par cette fonction.
<?php
// active la gestion d'erreur personnalisée
var_dump(libxml_use_internal_errors(true));
// Chargement du document
$doc = new DOMDocument;
if (!$doc->load('file.xml')) {
foreach (libxml_get_errors() as $error) {
// gérer les erreurs ici
}
libxml_clear_errors();
}
?>
L'exemple ci-dessus va afficher :
bool(false)
When using this funtion, be sure to clear your internal error buffer. If you dn't and you are using this in a long running process, you may find that all your memory is used up.
When using libxml_use_internal_errors(true), and perform a possibly memory intensive operation like simplexml_load_string() next, you might end up with a blank screen and no php error logged because the error message been suppressed.
We use a custom error handler using set_error_handler() I found that after I call
libxml_use_internal_errors(false);
It resets my error_handler - not sure if this is a bug or not, I will report it as a bug - however, I needed to repeat my call to set_error_handler
(did confuse me for a while)