Aby sprawić, że w skrypcie będą wyświetlały się błędy interpretera PHP, lub komunikaty z błędami, musisz oczywiście włączyć to w ustawieniach samego serwera PHP. Można to w prosty sposób włączyć funkcją dostępną w PHP - error_reporting
Funkcję tą należy umieścić w pliku php.ini, który będzie miał taką postać:
error_reporting = E_ALL & ~E_NOTICE
error_log = /errors.log
log_errors = On
Powyższe linijki kodu włączają wszystkie błędy, które występują w czasie działania skryptu PHP i następnie zapisują je w pliku errors.log
Przykładowy błąd PHP, który znajdziemy w tym pliku:
[13-Sep-2017 16:50:00] PHP Notice: Undefined offset: 0 in /home/w/plik.php on line 46
[13-Sep-2017 16:50:00] PHP Notice: Undefined offset: 0 in /home/w/plik.php on line 46
[13-Sep-2017 16:55:00] PHP Notice: Undefined offset: 0 in /home/w/plik.php on line 63
[13-Sep-2017 16:55:00] PHP Notice: Undefined offset: 0 in /home/w/plik.php on line 77
Oczywiście zakres błędów można ograniczyć do np. tylko krytycznych. Na powyższym przykładzie, wyświetlają się wszystkie błędy łącznie z tymi dopuszczalnymi.
Lista dostępnych parametrów dla funkcji error_reporting:
E_ERROR
E_WARNING
E_PARSE
E_NOTICE
E_CORE_ERROR
E_CORE_WARNING
E_COMPILE_ERROR
E_COMPILE_WARNING
E_USER_ERROR
E_USER_WARNING
E_USER_NOTICE
E_ALL
E_STRICT
E_RECOVERABLE_ERROR
E_DEPRECATED
E_USER_DEPRECATED
Oczywiście może się zdarzyć że Twój hosting nie obsługuje plików php.ini. Wtedy wyświetlanie błędów możesz włączyć po prostu w pliku index.php, który najczęściej znajduje się w głównym folderze serwera. Wystarczy w tym pliku dodać linijkę kodu:
error_reporting(E_ALL); |
Dzięki czemu włączysz wyświetlanie wszystkich błędów PHP skryptu. Oczywiście w zakres błędów możesz zawęzić, używając parametrów z listy powyżej.
Jeśli natomiast chciałbyś wyłączyć wyświetlanie wszystkich błędów w PHP, musisz wstawić w nawias 0 (zero):
error_reporting(0);