libxml_use_internal_errors

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

libxml_use_internal_errorslibxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar

Açıklama

libxml_use_internal_errors(?bool $hatalar_etkin = null): bool

Standart libxml hatalarını iptal edip kullanıcı tanımlı hataları etkin kılar.

Bağımsız Değişkenler

hatalar_etkin

true atanırsa kullanıcı hataları etkin olur. false atanırsa iptal olur. İptal edilmesi ayrıca mevcut libxml hatalarını da temizleyecektir.

Dönen Değerler

hatalar_etkin bağımsız değişkeninin önceki değerini döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 hatalar_etkin artık null olabiliyor. Evvelce, false öntanımlıydı.

Örnekler

Örnek 1 - libxml_use_internal_errors() örneği

Aşağıdaki örnekte işlevin döndürdüğü değer ve libxml hatalarının temel kullanımı gösterilmiştir.

<?php

// Kullanıcı tanımlı hataları etkin kılalım
var_dump(libxml_use_internal_errors(true));

// Belgeyi yükleyelim
$doc = new DOMDocument;

if (!
$doc->load('file.xml')) {
foreach (
libxml_get_errors() as $error) {
// Hataları burada ele alıyoruz
}

libxml_clear_errors();
}

?>

Yukarıdaki örneğin çıktısı:

bool(false)

Ayrıca Bakınız

add a note add a note

User Contributed Notes 3 notes

up
22
B Crawford
17 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
6
marcovtwout
11 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
-8
james at dunmore dot me dot uk
16 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