©
This document uses PHP Chinese website manual Release
(PHP 5 >= 5.1.0)
libxml_use_internal_errors — Disable libxml errors and allow user to fetch error information as needed
$use_errors
= false
] )libxml_use_internal_errors() allows you to disable standard libxml errors and enable user error handling.
use_errors
Enable ( TRUE
) user error handling or disable ( FALSE
) user error handling. Disabling will also clear any existing libxml errors.
This function returns the previous value of
use_errors
.
Example #1 A libxml_use_internal_errors() example
This example demonstrates the basic usage of libxml errors and the value returned by this function.
<?php
// enable user error handling
var_dump ( libxml_use_internal_errors ( true ));
// load the document
$doc = new DOMDocument ;
if (! $doc -> load ( 'file.xml' )) {
foreach ( libxml_get_errors () as $error ) {
// handle errors here
}
libxml_clear_errors ();
}
?>
以上例程会输出:
bool(false)
[#1] marcovtwout [2013-05-07 13:05:51]
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.
[#2] james at dunmore dot me dot uk [2008-08-21 03:03:05]
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)
[#3] B Crawford [2007-10-03 18:22:08]
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.