Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> set_error_handler i error_reporting
G. Skaruz
post 30.10.2003, 08:10:56
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Siedlce

Ostrzeżenie: (0%)
-----


Mam następujący kod:
[php:1:1934eb93cf]<?php
error_reporting (E_ERROR | E_WARNING | E_PARSE);

function error_handler($errno, $errstr, $errfile, $errline) {
$error_text = "Wystapił bład"
. "Data: " . date("Y-m-d, H:i:s") . "n"
. "Numer błędu: $errnon"
. "Tresć błędu: $errstrn"
. "Plik: $errfilen"
. "Linia: $errlinenn";
@error_log($error_text, 1, "user@127.0.0.1");
@error_log ($error_text, 3, "my-errors.log");
echo "Wystąpił błąd podczas wyświetlania strony. Administrator
serwisu został już powiadomo o tym fakcie. Proszę spróbować później.
Przepraszamy.<BR>";
echo "The web site is not available at this time. Administrator of
the website was already notified about this. Please try again soon.";
exit(1);
}
set_error_handler('error_handler');

?>[/php:1:1934eb93cf]

Nawet jak ustawię error_reporting(0) to dostaję wiadomość

[php:1:1934eb93cf]<?php
Wystąpił błąd w serwisie http://localhost/xxxxxxx
Data: 2003-10-24, 12:32:46
Numer błędu: 8
Treść błędu: Undefined variable: where
Plik: d:wwwxxxxxxxxxxxxzamowienia.php
Linia: 23
?>[/php:1:1934eb93cf]

Tak jakby set_error_handler nie uwzględniało nie informowania o
błędach typu NOTICE

Czy jedynym rozwiązaniem jest kombinowowanie typu
if ($errno == E_NOTICE && substr($errstr, 0, 20) == "Undefined
variable: ") return;


--------------------
--
Grzegorz Skaruz / www.skaruz.com
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
adwol
post 30.10.2003, 22:51:02
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
Tak jakby set_error_handler nie uwzględniało nie informowania o błędach typu NOTICE

Funkcja zarejestrowana za pomocą set_error_handler jest zawsze wywoływana niezależnie od ustawień error_reporting
Cytat
Czy jedynym rozwiązaniem jest kombinowowanie typu
if ($errno == E_NOTICE && substr($errstr, 0, 20) == "Undefined
variable: ") return;

A nie możesz po prostu warunkować wypisywanie komunikatu w Twojej funkcji na podstawie zawartości error_reporting? Wszystko co potrzebujesz możesz wyciągnąć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 06:42