CakeFest 2024: The Official CakePHP Conference

libxml_use_internal_errors

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

libxml_use_internal_errors Desabilita erros da libxml e permite que o usuário obtenha informações de erro conforme necessário

Descrição

libxml_use_internal_errors(?bool $use_errors = null): bool

A função libxml_use_internal_errors() permite desabilitar os erros padrão da libxml e habilitar o tratamento de erros do usuário.

Parâmetros

use_errors

Habilita (true) ou desabilita (false) o tratamento de erros do usuário. Desabilitar também limpará quaisquer erros libxml existentes.

Valor Retornado

Esta função retorna o valor anterior de use_errors.

Registro de Alterações

Versão Descrição
8.0.0 O parâmetro use_errors agora pode ser nulo. Anteriormente, o padrão era false.

Exemplos

Exemplo #1 Exemplo de libxml_use_internal_errors()

Este exemplo demonstra o uso básico dos erros da libxml e o valor retornado por esta função.

<?php

// habilita o tratamento de erros do usuário
var_dump(libxml_use_internal_errors(true));

// carrega o documento
$doc = new DOMDocument;

if (!
$doc->load('arquivo.xml')) {
foreach (
libxml_get_errors() as $erro) {
// trata os erros aqui
}

libxml_clear_errors();
}

?>

O exemplo acima produzirá:

bool(false)

Veja Também

add a note

User Contributed Notes 3 notes

up
31
B Crawford
16 years ago
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.
up
11
marcovtwout
10 years ago
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.
up
-12
james at dunmore dot me dot uk
15 years ago
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)
To Top