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:
Spis treści
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.
Tryb debugowania w inFakt WooCommerce
Jeśli spotkasz się z niepoprawnym działaniem wtyczki, napisz do nas. Możesz też przed kontaktem włączyć zapis błędów, a do wiadomości do nas załączyć plik z zapisanymi logami. Pozwoli nam to szybciej określić przyczynę i znaleźć rozwiązanie.
- Zaznacz pierwszy checkbox oraz opcję blokowania żądań API dla administratora.
- Możesz też włączyć automatyczne zakończenie zapisu błędów np. na 1 godzinę albo pamiętać o wyłączeniu trybu debugowania po zakończeniu testu. Po wyborze opcji zapisz zmiany.
- Odtwórz poprzednią sytuację. Jeśli chodziło o brak wystawienia faktury, przejdź do edycji zamówienia i spróbuj ręcznie wystawić fakturę. Jeśli był to natomiast jakiś inny komunikat, spróbuj wykonać te kroki jak poprzednio.
- Przejdź do logów: WooCommerce → Status → Dziennik zdarzeń. Pobierz treść zapisanego komunikatu lub żądań API z czasu odtwarzania błędu i dołącz je do maila do naszej pomocy technicznej.
- Jeżeli masz jakiekolwiek pytania lub wątpliwości, napisz do nas.
Zarządzanie trybem debugowania znajdziesz w WooCommerce → Ustawienia → Integracje → inFakt → Tryb debugowania.