Weryfikacja i typowe problemy - Symfony
Na tej stronie Sprawdzenie, że bundle jest aktywny
- Sprawdzenie, że bundle jest aktywny
- Kontrolowane zdarzenie
- Typowe problemy
- Nic nie dociera do panelu
- Panel zapełnił się błędami 404
- Wyjątek jest raportowany, ale nie ten właściwy
- Brakuje danych użytkownika
- Brakuje błędów z komend konsolowych
- Brakuje transakcji
- Worker Messengera nie widzi zmiany konfiguracji
- Panel odpowiada 200, ale zdarzenia nie ma
- Nadal nie działa
Sprawdzenie, że bundle jest aktywny
php bin/console debug:container ray.hub
php bin/console debug:config ray
Pierwsza komenda potwierdza, że bundle jest zarejestrowany, druga - jakie wartości naprawdę obowiązują po rozwiązaniu zmiennych środowiskowych. To rozstrzyga większość przypadków „ustawiłem, a nie działa”.
Kontrolowane zdarzenie
Wywołaj captureMessage() z komendy albo kontrolera i sprawdź, czy zdarzenie pojawiło się w panelu w sekcji Błędy. Środowisko powinno odpowiadać %kernel.environment%.
Typowe problemy
Nic nie dociera do panelu
Sprawdź kolejno: czy debug:config ray pokazuje wypełnione token i private_key (a nie nierozwiązane %env(...)%), czy oba należą do tego samego projektu, czy cache kontenera jest świeży (php bin/console cache:clear) i czy serwer ma otwarte połączenia wychodzące HTTPS.
Panel zapełnił się błędami 404
W Symfony 404 jest wyjątkiem. Dopisz NotFoundHttpException do ignore_exceptions. To samo dotyczy odmów dostępu, jeśli w Twojej aplikacji są normalnym wynikiem.
Wyjątek jest raportowany, ale nie ten właściwy
ExceptionListener stoi na priorytecie -128, więc raportuje wyjątek, który przeżył listenery aplikacji. Jeżeli własny listener zamienia wyjątek na inny i rzuca go dalej, w panelu zobaczysz ten drugi - i to jest zachowanie zgodne z tym, na czym żądanie faktycznie padło.
Brakuje danych użytkownika
UserListener rejestruje się tylko wtedy, gdy w projekcie jest symfony/security-core, i działa na kernel.controller. Wyjątek rzucony przed kontrolerem - w firewallu albo w innym listenerze kernel.request - nie będzie miał jeszcze użytkownika.
Brakuje błędów z komend konsolowych
ConsoleErrorListener wymaga symfony/console w projekcie i nasłuchuje console.error. Komenda, która przechwytuje własny wyjątek i zwraca kod wyjścia bez rzucania go dalej, nie wywoła tego zdarzenia - tam raportuj ręcznie przez ray.hub.
Brakuje transakcji
Transakcje powstają tylko przy traces_sample_rate większym od zera, obejmują wyłącznie główne żądania (nie podżądania) i zamykają się na kernel.terminate. Sprawdź też ignore_transactions - prefiks ścieżki pasujący do Twojej trasy wyłącza pomiar dla całej gałęzi adresów.
Worker Messengera nie widzi zmiany konfiguracji
Hub jest singletonem kontenera, a worker czyta konfigurację przy starcie. Po zmianie ray.yaml albo .env.local zrestartuj workery (php bin/console messenger:stop-workers).
Panel odpowiada 200, ale zdarzenia nie ma
Odpowiedź 200 {"success": false} znaczy, że konto wyczerpało miesięczny limit błędów. Integracja nie traktuje tego jak awarii - i słusznie. Limit widzisz na pulpicie konta; do końca miesiąca liczy się z zapisanego zużycia, więc nie zresetuje go usunięcie błędów.
Nadal nie działa
Przejdź przez listę kontrolną braku danych w panelu, a jeśli to nie pomoże - napisz do nas. Podaj nazwę projektu, wersję integracji i przybliżoną godzinę testu: to skraca drogę do odpowiedzi.