Czy programiści ciągle włączają lub wyłączają zgłaszanie błędów?

12

Zastanawiałem się, czy programiści php wciąż zgłaszają błędy w php.ini po dostarczeniu strony?


źródło

Odpowiedzi:

18

Zawsze należy stale zgłaszać błędy, rejestrować najważniejsze zdarzenia i przeprowadzać audyty. W przeciwnym razie, w dniu, w którym z jakiegoś powodu aplikacja zakończy się niepowodzeniem, trudno będzie ustalić, co się stało.

Biorąc to pod uwagę, raportowanie błędów musi być wykonywane wewnętrznie i nigdy nie pokazywane użytkownikowi końcowemu, ponieważ pokazanie poufnych informacji byłoby problemem bezpieczeństwa. Możesz do tego użyć ustawień display_errorsi log_errorsustawień: w php.ini-productionpierwszym ustawiono off, a drugim jest on.

Nawiasem mówiąc, php.ini-productionjuż odpowiada na twoje pytanie:

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED

Kolejny komentarz mówi również, że:

Domyślnie PHP jest ustawione na podejmowanie działań w przypadku wszystkich błędów, powiadomień i ostrzeżeń, Z WYJĄTKIEM tych związanych z E_NOTICE i E_STRICT, które razem obejmują najlepsze praktyki i zalecane standardy kodowania w PHP. Ze względu na wydajność jest to zalecane ustawienie raportowania błędów. Twój serwer produkcyjny nie powinien marnować zasobów narzekających na najlepsze praktyki i standardy kodowania.

Arseni Mourzenko
źródło
Dziękuję za odpowiedź. To bardzo oczywiste, że raportowanie błędów jest bardzo przydatne podczas tworzenia strony internetowej, ale byłem zdezorientowany, jeśli programiści wyłączają ją po utworzeniu strony internetowej, aby klient nie widział żadnego z błędów. Dziękujemy za wyjaśnienie koncepcji.
Jeśli programista wyłączy error_reportingsię w produkcji, prawdopodobnie ma coś do ukrycia.
Lekensteyn
Chcesz wyłączyć debugowanie i rejestrowanie na poziomie śledzenia w produkcji. Raportowanie poziomu błędu jest niezbędne, gdy coś pójdzie nie tak. Większość witryn będzie chciała włączyć rejestrowanie informacyjne, jeśli zostanie to wykonane odpowiednio.
BillThor
@FahadUddin Nie chcesz, aby osoby przeglądające Twoją stronę / aplikację widziały błędy. Jedyne, co ograniczamy, to wyświetlanie błędów użytkownikowi końcowemu, rejestrowanie zajmuje się resztą. Jednak dobra praktyka nakazuje, aby w przypadku błędu na poziomie aplikacji (na przykład złe połączenie z bazą danych) informować użytkownika końcowego, że coś poszło nie tak, a na zapleczu alarmuje programistów natychmiast.
Ian Lewis