Najnowsze tutoriale tworzenie stron internetowych
 

PHP 5 funkcja błędu


Błąd PHP Wprowadzenie

Funkcje błędów są wykorzystywane do czynienia z obsługi błędów i logowania.

Funkcje błędów pozwalają nam określić własne zasady obsługi błędów i zmodyfikować sposób błędy mogą być rejestrowane.

Funkcje rejestrowania pozwala nam na wysyłanie wiadomości bezpośrednio do innych maszyn, e-maile, lub logach systemowych.

Funkcje raportowania błędów pozwalają nam dostosować jaki poziom i rodzaj sprzężenia zwrotnego o błędzie jest podane.


Instalacja

Funkcje błędów PHP są częścią jądra PHP. Bez instalacji jest wymagane do korzystania z tych funkcji.


Konfiguracja wykonawcza

Zachowanie funkcja błędu zależy od ustawień w pliku php.ini.

Błędy i opcje konfiguracyjne rejestrowania:

Nazwa Zaniedbanie Opis Zmienny
zgłaszanie błędów ZERO Ustawia poziom raportowania błędów (albo liczbą całkowitą lub nazwane stałe) PHP_INI_ALL
display_errors "1" Określa, czy błędy powinny być drukowane na ekranie, czy powinny one być ukryte przed użytkownikiem.
Uwaga: Funkcja ta nie powinna być stosowana w systemach produkcyjnych (tylko w celu wspierania rozwoju)
PHP_INI_ALL
display_startup_errors "0" Nawet gdy display_errors jest na błędy występujące podczas sekwencji uruchamiania PHP nie są wyświetlane
Uwaga: Zaleca się, aby zachować display_startup_errors off, z wyjątkiem debugowania
PHP_INI_ALL
log_errors "0" Określa, czy komunikaty o błędach skryptu powinny być rejestrowane w dzienniku błędów serwera lub error_log.
Uwaga: Zaleca się, aby używać rejestrowanie błędów zamiast błędu wyświetlania stron internetowych na produkcji
PHP_INI_ALL
log_errors_max_len "1024" Ustawia maksymalną długość log_errors w bajtach. Wartość "0" może być używany do niestosowania żadnej maksymalną długość w ogóle. Długość ta jest stosowana do zalogowanych błędów wyświetlane błędy, a także do $ php_errormsg (available since PHP 4.3) PHP_INI_ALL
ignore_repeated_errors "0" Określa, czy do zalogowania powtarzające się komunikaty o błędach. Po ustawieniu na "1" nie będzie błędów z powtarzającym się błędów z tego samego pliku na tej samej linii log (available since PHP 4.3) PHP_INI_ALL
ignore_repeated_source "0" Określa, czy do zalogowania powtarzające się komunikaty o błędach. Po ustawieniu na "1" nie będzie błędów z powtarzającym się błędów z różnych plików lub linie źródłowe log (available since PHP 4.3) PHP_INI_ALL
report_memleaks "1" Jeśli jest ustawiony na "1" (the default) , parametr ten pokaże raport wycieków pamięci wykrytych przez menedżera pamięci Zend (available since PHP 4.3) PHP_INI_ALL
track_errors "0" Jeśli jest ustawiony na "1" , ostatni komunikat błędu zawsze będzie obecna w zmiennej $ php_errormsg PHP_INI_ALL
html_errors "1" Wyłącza znaczników HTML w wiadomościach o błędach PHP_INI_ALL
PHP_INI_SYSTEM PHP <4.2.3.
xmlrpc_errors "0" Wyłącza normalne raportowanie błędów oraz formaty błędy jako komunikat o błędzie XML-RPC (available since PHP 4.1) PHP_INI_SYSTEM
xmlrpc_error_number "0" Używany jako wartość elementu XML-RPC faultCode (available since PHP 4.1) PHP_INI_ALL
docref_root „” (Dostępna od PHP 4.3) PHP_INI_ALL
docref_ext „” (Dostępny od PHP 4.3.2) PHP_INI_ALL
error_prepend_string ZERO Określa ciąg do wyjścia przed komunikatem o błędzie PHP_INI_ALL
error_append_string ZERO Określa ciąg do wyjścia po komunikacie błędu PHP_INI_ALL
error_log ZERO Określa nazwę pliku, w którym błędy skryptów powinny być rejestrowane. Plik powinien być zapisywalny przez użytkownika serwera WWW. Jeśli używana jest specjalna wartość syslog, błędy wysyłane są do systemu zamiast rejestratora PHP_INI_ALL

PHP błędów i logowania Funkcje

Funkcjonować Opis
debug_backtrace() Generuje ślad
debug_print_backtrace() Drukuje ślad
error_get_last() Zwraca ostatni błąd, który wystąpił
error_log() Wysyła komunikat o błędzie do dziennika, do pliku lub do konta pocztowego
error_reporting() Określa, które błędy są zgłaszane
restore_error_handler() Przywraca poprzednią obsługi błędów
restore_exception_handler() Odtwarza poprzednie obsługi wyjątków
set_error_handler() Ustawia funkcję obsługi błędu zdefiniowany przez użytkownika
set_exception_handler() Wyznacza funkcję obsługi wyjątków zdefiniowany przez użytkownika
trigger_error() Tworzy się komunikat o błędzie na poziomie użytkownika
user_error() Alias trigger_error()

PHP 5 predefiniowane błędów i logowania Stałe

Wartość Stały Opis
1 E_ERROR Śmiertelne błędy run-time. Błędów, które nie mogą być odzyskane. Wykonanie skryptu zostaje zatrzymany
2 E_WARNING Ostrzeżenia run-time (non-fatal errors) . Wykonanie skryptu nie jest zatrzymany
4 E_PARSE Kompilacji czas analizowania błędów. Zanalizować błędy powinny być generowane tylko przez parser
8 E_NOTICE Anonse Run-Time. Skrypt znaleźć coś, co może być błąd, ale może się zdarzyć, gdy uruchomiony skrypt normalnie
16 E_CORE_ERROR Śmiertelne błędy przy starcie PHP. To jest jak E_ERROR, oprócz tego, że są generowane przez rdzeń PHP
32 E_CORE_WARNING Non-śmiertelne błędy przy starcie PHP. To jest jak E_WARNING, oprócz tego, że są generowane przez rdzeń PHP
64 E_COMPILE_ERROR Śmiertelne błędy podczas kompilacji. To jest jak E_ERROR, oprócz tego, że są generowane przez przez Zend Scripting Engine
128 E_COMPILE_WARNING Non-śmiertelnych błędów kompilacji. To jest jak E_WARNING, oprócz tego, że są generowane przez przez silnik Zend Scripting
256 E_USER_ERROR Błąd krytyczny generowane przez użytkowników. To jak E_ERROR, oprócz tego, że jest wytwarzany w kodzie PHP za pomocą funkcji PHP trigger_error()
512 E_USER_WARNING Niezakończony zgonem ostrzeżenie generowane przez użytkowników. To jak E_WARNING, oprócz tego, że jest wytwarzany w kodzie PHP za pomocą funkcji PHP trigger_error()
1024 E_USER_NOTICE Generowane przez użytkowników wypowiedzenia. To jak E_NOTICE, oprócz tego, że jest wytwarzany w kodzie PHP za pomocą funkcji PHP trigger_error()
2048 E_STRICT Włącz mieć PHP sugerować zmiany w kodzie, które zapewnią najlepszą interoperacyjność i kompatybilność w przód swojego kodu (Od PHP 5, ale nie ujęte w E_ALL aż PHP 5.4)
4096 E_RECOVERABLE_ERROR Połów błąd krytyczny. Wskazuje, że wystąpił prawdopodobnie niebezpieczny błąd, ale nie pozostawić silnik w stanie niestabilnym. Jeśli błąd nie zostanie złapany przez uchwyt zdefiniowanego przez użytkownika, aplikacja przerywa jak to było E_ERROR (Since PHP 5.2)
8192 E_DEPRECATED Anonse Run-Time. Włącz tę opcję, aby otrzymywać ostrzeżenia o kodzie, który nie będzie działać w przyszłych wersjach (Since PHP 5.3)
16384 E_USER_DEPRECATED Generowane przez użytkowników komunikat ostrzegawczy. To jest jak E_DEPRECATED, oprócz tego, że jest generowany w kodzie PHP za pomocą funkcji PHP trigger_error() (od PHP 5.3)
32767 E_ALL Włącz wszystkie błędy i ostrzeżenia PHP (except E_STRICT in versions < 5.4)