Funkcje błędów i logowania PHP
- Poprzednia strona PHP Directory
- Następna strona PHP Filesystem
Wprowadzenie do PHP Error
Funkcje Error i Logging pozwalają na obsługę i zapisywanie błędów.
Funkcje Error pozwalają użytkownikom zdefiniować reguły obsługi błędów oraz zmieniać sposób zapisywania błędów.
Funkcje logowania pozwalają użytkownikom logować aplikacje oraz wysyłać komunikaty logowania do e-maili, dzienników systemowych lub innych maszyn.
Funkcje error są używane do obsługi błędów i logowania.
Funkcje error pozwalają zdefiniować własne reguły obsługi błędów oraz zmieniać sposób zapisywania błędów.
Funkcje logowania pozwalają wysyłać komunikaty bezpośrednio do innych maszyn, e-maili lub dzienników systemowych.
Funkcje raportowania błędów pozwalają określić typy i poziomy błędów.
Instalacja
Funkcje error są częścią rdzenia PHP. Nie wymagają instalacji do użycia.
Konfiguracja uruchomieniowa
Zachowanie funkcji error jest wpływowane przez ustawienia w pliku php.ini.
Opcje konfiguracji błędów i logowania:
Nazwa | Domyślne wartości | Opis | Zakres modyfikacji |
---|---|---|---|
error_reporting | NULL | Ustawienie poziomu raportowania błędów (liczba całkowita lub nazwa stała). | PHP_INI_ALL |
display_errors | "1" |
Określenie, czy błędy mają być wyświetlane na ekranie jako wyjście, czy ukryte przed użytkownikiem. Uwaga:Ta funkcjonalność nie powinna być używana w systemach produkcyjnych (obsługiwana tylko w trybie deweloperskim). |
PHP_INI_ALL |
display_startup_errors | "0" |
Nawet jeśli display_errors jest ustawione na włączone, błędy podczas procesu uruchamiania PHP nie będą wyświetlane. Komentarz: Silnie zalecamy ustawienie display_startup_errors na wyłączone poza celami debugowania. |
PHP_INI_ALL |
log_errors | "0" |
Ustawienie, czy błędy wynikające z uruchamiania skryptu mają być zapisywane w dzienniku błędów serwera lub error_log. Komentarz: To jest specyficzna konfiguracja związana z serwerem. Komentarz: W systemach produkcyjnych, silnie zalecamy używanie logów błędów do zapisywania informacji o błędach wyświetlanych na stronie. |
PHP_INI_ALL |
log_errors_max_len | "1024" |
Ustawienie maksymalnej liczby bajtów log_errors. W error_log zostanie dodana informacja o źródle błędu. Domyślna wartość to 1024, ustawienie na 0 oznacza brak ograniczeń dotyczących długości. Ustawienie tej długości ma wpływ na zapisywane błędy, wyświetlane błędy oraz $php_errormsg. |
PHP_INI_ALL |
ignore_repeated_errors | "0" |
Zdefiniuj, czy powtarzające się informacje o błędach mają być zapisywane. Powtarzające się błędy muszą występować w tym samym pliku na tym samym wierszu kodu, chyba że ustawienie ignore_repeated_source jest ustawione na true. |
PHP_INI_ALL |
ignore_repeated_source | "0" |
Zdefiniuj, czy powtarzające się informacje o błędach mają być zapisywane. Ignorując powtarzające się komunikaty, również ignoruje się ich źródło. Gdy ustawienie jest włączone, powtarzające się informacje nie będą zapisywane jako pochodzące z różnych plików lub różnych wierszy kodu. |
PHP_INI_ALL |
report_memleaks | "1" | Jeśli parametr ustawiony na On (domyślnie), wyświetl raporty o wyciekach pamięci wykryte przez menedżer pamięci Zend. | PHP_INI_ALL |
track_errors | "0" | Jeśli włączone, ostatni błąd będzie zawsze istniał w zmiennej $php_errormsg. | PHP_INI_ALL |
html_errors | "1" | Wyłącz tagi HTML w informacjach o błędach. |
|
xmlrpc_errors | "0" | Jeśli włączone, wyłącz normalne zgłaszanie błędów i ustaw format błędów na format informacji o błędach XML-RPC. | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | Używane jako wartość elementu faultCode w XML-RPC. | PHP_INI_ALL |
docref_root | "" | (dostępne od PHP 4.3) | PHP_INI_ALL |
docref_ext | "" | (dostępne od PHP 4.3.2) | PHP_INI_ALL |
error_prepend_string | NULL | Zdefiniuj ciąg, który ma być wyświetlony przed informacją o błędzie. | PHP_INI_ALL |
error_append_string | NULL | Zdefiniuj ciąg, który ma być wyświetlony po informacji o błędzie. | PHP_INI_ALL |
error_log | NULL |
Ustaw plik, do którego będą zapisywane błędy skryptu. Plik musi być zapisywalny przez użytkownika serwera. Jeśli użyto specjalnej wartości syslog, wysyłaj informacje o błędach do systemowego rejestrera logów. |
PHP_INI_ALL |
Funkcje błędów i logowania PHP
Funkcja | Opis |
---|---|
debug_backtrace() | Generuj backtrace. |
debug_print_backtrace() | Wydrukuj backtrace. |
error_get_last() | Zwróć ostatni wystąpiły błąd. |
error_log() | Wysyłaj komunikaty o błędach do dziennika błędów serwera, pliku lub zdalnego celu. |
error_reporting() | Zdefiniuj, który błąd ma być zgłaszany. |
restore_error_handler() | Odzyskaj wcześniejszy program obsługi błędów. |
restore_exception_handler() | Odzyskiwanie poprzedniego programisty obsługi wyjątków. |
set_error_handler() | Ustawienie funkcji obsługi błędów użytkownika. |
set_exception_handler() | Ustawienie funkcji obsługi wyjątków użytkownika. |
trigger_error() | Tworzenie błędów na poziomie użytkownika. |
user_error() | Alias funkcji trigger_error() |
Zdefiniowane przez PHP 5 błędy i konstanty logowania
Wartość | Stała | Opis |
---|---|---|
1 | E_ERROR | Fatalne błędy na etapie działania. Niepoprawne błędy, które nie mogą być naprawione. Zatrzymują wykonywanie skryptu. |
2 | E_WARNING | Nie-fatalne błędy na etapie działania. Nie zatrzymują wykonywania skryptu. |
4 | E_PARSE | Błędy analizatora na etapie kompilacji. Błędy analizatora generowane są wyłącznie przez analizator. |
8 | E_NOTICE | Informacje o błędach na etapie działania. Oznacza, że skrypt napotkał sytuację, która może być błędem, ale może również działać normalnie. |
16 | E_CORE_ERROR | Katastroficzne błędy na etapie inicjalizacji PHP. Błąd podobny do E_ERROR, ale generowany przez rdzeń silnika PHP. |
32 | E_CORE_WARNING | Ostrzeżenia na etapie inicjalizacji PHP (nie-fatalne błędy). Podobne do E_WARNING, ale generowane przez rdzeń silnika PHP. |
64 | E_COMPILE_ERROR | Katastroficzne błędy na etapie kompilacji. Podobne do E_ERROR, ale generowane przez silnik skryptów Zend. |
128 | E_COMPILE_WARNING | Ostrzeżenia na etapie kompilacji (nie-fatalne błędy). Podobne do E_WARNING, ale generowane przez silnik skryptów Zend. |
256 | E_USER_ERROR | Informacje o błędach generowanych przez użytkownika. Podobne do E_ERROR, ale generowane przez użytkownika w kodzie za pomocą PHP funkcji trigger_error(). |
512 | E_USER_WARNING | Informacje o ostrzeżeniach generowanych przez użytkownika. Podobne do E_WARNING, ale generowane przez użytkownika w kodzie za pomocą funkcji PHP trigger_error(). |
1024 | E_USER_NOTICE | Informacje o powiadomieniach generowanych przez użytkownika. Podobne do E_NOTICE, ale generowane przez użytkownika w kodzie za pomocą funkcji PHP trigger_error(). |
2048 | E_STRICT | Włącz sugeracje dotyczące modyfikacji kodu PHP, aby zapewnić najlepszą zgodność i kompatybilność wsteczną. |
4096 | E_RECOVERABLE_ERROR | Błędy krytyczne, które można uchwycić. Oznacza to, że wystąpił błąd potencjalnie bardzo niebezpieczny, ale nie spowodował, że silnik PHP jest w stanie niestabilnym. Jeśli błąd nie został ujęty przez zdefiniowany przez użytkownika handler (zobacz set_error_handler()), staje się E_ERROR i skrypt zakończy działanie. |
8192 | E_DEPRECATED | Powiadomienia w czasie działania. Po włączeniu, dla kodu, który może nie działać poprawnie w przyszłych wersjach, będą wydawane ostrzeżenia. |
16384 | E_USER_DEPRECATED | Ostrzeżenia generowane przez użytkownika. Podobne do E_DEPRECATED, ale generowane przez użytkownika w kodzie za pomocą funkcji PHP trigger_error(). |
32767 | E_ALL | E_STRICT Wszystkie błędy i ostrzeżenia, chyba że określone inaczej. |
- Poprzednia strona PHP Directory
- Następna strona PHP Filesystem