• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • libxml_use_internal_errors()

    (PHP 5 >= 5.1.0, PHP 7)

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

    说明

    libxml_use_internal_errors([bool $use_errors= FALSE]): bool

    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)
    

    参见

    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)