W pracy ze skryptami PHP mogą wystąpić błędy. Zdarza się, że interpretator PHP wyświetla błędy na ekranie, dzięki czemu można łatwo je zidentyfikować i wskazać przyczynę problemów. Co w sytuacji kiedy skrypty nie działają poprawnie, błędy nie są wyświetlane na ekranie, a chciałbyś zapisać treść błędu? Aby zapisać treść błędu, należy włączyć debugowanie.
Prezentujemy cztery sposoby na zidentyfikowanie błędów występujących w WordPressie:
Logi WooCommerce
Sam WooCommerce posiada wbudowaną funkcję automatycznego zapisywania treści błędów krytycznych do pliku. Aby móc je odczytać, przejdź do menu WooCommerce -> Status -> Logi:
Z rozwijanej listy należy wybrać plik, którego nazwa zaczyna się od fatal-errors. Pliki z błędami są trzymane przez 30 dni, potem następuje ich usunięcie.
WP Desk Helper
WP Desk Helper to mała wtyczka, która pozwala na aktywowanie licencji wtyczek WP Desk. Dodaliśmy do niej opcję zapisu błędów, tak aby użytkownicy naszych rozwiązań mieli łatwy dostęp do funkcji debugowania.
Aby uruchomić zapis błędów, przejdź do menu WP Desk -> Ustawienia:
Plik z błędami zapisze się w lokalizacji /wp-content/uploads/wpdesk-logs/wpdesk_debug.log
Edycja pliku wp-config.php
Może się zdarzyć, że błąd wystąpi jeszcze przed uruchomieniem funkcji WP Desk Helper. W takim przypadku trzeba spróbować debugowania na wyższej warstwie. WordPress posiada wbudowaną funkcję debugowania. Nie jest ona jednak dostępna z poziomu panelu administratora. Aby włączyć w WordPressie tryb debugowania, należy edytować plik wp-config.php i dodać do niego następujące linijki kodu:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Plik z zapisem błędów zostanie zapisany w lokalizacji /wp-content/debug.log.
Zapis błędów w PHP - edycja php.ini
Interpretator PHP również posiada funkcję zapisu błędów. Korzystając z tego rozwiązania masz pewność, że wszystkie komunikaty zostaną zapisane, bez względu na warstwę serwerową której dotyczą. Aby włączyć globalny zapis błędów, edytuj plik php.ini.
Otwórz plik php.ini i dodaj następujące linijki:
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");
Plik zapisze się w lokalizacji /tmp/php-error.log.
Odwiedź panel zarządzania serwerem lub skontaktuj się z administratorem
Czasami może się zdarzyć, że zapisywanie błędów na poziomie skryptów PHP w ogóle nie działa. W takim przypadku należy skontaktować się z obsługą hostingu lub administratorem serwera z prośbą o udostępnienie pliku z zapisem błędów PHP. Większość firm hostingowych zapisuje takie błędy. W wielu panelach zarządzania serwerem istnieje możliwość pobrania takiego pliku bez konieczności kontaktu z administrator.