文字

libxml_use_internal_errors

(PHP 5 >= 5.1.0)

libxml_use_internal_errors Disable libxml errors and allow user to fetch error information as needed

说明

bool libxml_use_internal_errors ([ bool $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)

参见

  • libxml_clear_errors() - Clear libxml error buffer
  • libxml_get_errors() - Retrieve array of errors

用户评论:

[#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.

上一篇: 下一篇: