2011-12-17 24 views
7

Używam register_shutdown() do wyświetlania strony, jeśli przesyłanie trwa długo, powodując przekroczenie limitu czasu dla PHP. Naprawdę nie muszę pokazywać użytkownikowi fatalnego błędu, jak mogę ukryć tę wiadomość?Ukryj komunikat "Błąd krytyczny: Maksymalny czas wykonania 30 ..."

+1

'error_reporting (0);' i/lub 'ini_set ('display_errors', 0);' nie wystarczająco dobre? W każdym razie nie powinieneś pokazywać błędów w środowisku produkcyjnym ... – DaveRandom

+0

@DaveRandom dzięki, że spróbuję. Nie myślałem, że fatalny błąd jest zawsze wyświetlany nawet podczas produkcji, jako domyślne ustawienie hosta. Dzięki – gremo

+0

@DaveRandom Dlaczego wyłączyć raportowanie błędów całkowicie? Twoja aplikacja powinna nadal śledzić i rejestrować błędy, gdy się pojawią, po prostu nie wyświetlaj szczegółów błędu użytkownikowi. – cspray

Odpowiedz

6

Chciałbyś ustawić dyrektywę display_errors w swoim php.ini na swoją maszynę produkcyjną. Ewentualnie, jeśli Twój skrypt nie zawiera żadnych błędów krytycznych po przekroczeniu limitu czasu, możesz użyć ini_set, aby wyłączyć wyświetlanie błędów w czasie wykonywania.

6

Aby ukryć komunikat o błędzie, można użyć error_reporting(E_NONE), aby wyłączyć wszystkie komunikaty o błędach.

Można też po prostu zrobić ini_set('display_errors','0');, aby ukryć komunikaty o błędach przed wyświetleniem i zalogować je.

Powiązane problemy