Ustawienia błędów (display_errors, error_reporting)

Ustawienia wyświetlania błędów w PHP pozwalają kontrolować, czy komunikaty o ostrzeżeniach, błędach i notyfikacjach będą widoczne w przeglądarce. Parametry display_errors i error_reporting są kluczowe przy debugowaniu skryptów i zapewnieniu stabilności aplikacji.


Konfiguracja wyświetlania i raportowania błędów

  • display_errors
    • Decyduje, czy błędy mają być pokazywane na stronie (On lub Off).
    • W środowisku produkcyjnym zalecane jest wyłączenie (Off), by nie ujawniać szczegółów aplikacji.
  • error_reporting
    • Określa poziom raportowanych błędów (np. E_ALL, E_NOTICE, E_WARNING).
    • Domyślnie używa się E_ALL, aby zobaczyć wszystkie ostrzeżenia i błędy, co pomaga w debugowaniu.
  • log_errors (opcjonalnie)
    • Pozwala przekierować błędy do pliku dziennika (logu) zamiast wyświetlać je użytkownikowi.
    • Wymaga ustawienia error_log na ścieżkę pliku, w którym błędy będą zapisywane.
Przykład
<?php
// Ustawianie za pomocą ini_set() w skrypcie PHP
ini_set('display_errors', '1'); 
error_reporting(E_ALL);

// Alternatywa w pliku php.ini (przykład):
/*
display_errors = On
error_reporting = E_ALL
log_errors = On
error_log = "/var/log/php_errors.log"
*/
?>

Przykładowe zastosowania ustawień błędów

  • Środowisko deweloperskie
    • display_errors = On, error_reporting = E_ALL, by zobaczyć każdy błąd i szybciej go poprawić.
  • Środowisko produkcyjne
    • display_errors = Off, aby nie wyświetlać wrażliwych informacji użytkownikom, a błędy loguj do pliku.
  • Monitorowanie aplikacji
    • Włącz log_errors i ustaw error_log, by śledzić problemy bez ujawniania danych na stronie.