Przepisy
Polityka bezpieczeństwa treści
Jeśli Twoja witryna korzysta z Content Security Policy, będziesz musiał dodać 'nonce-<value>'
i
'strict-dynamic'
do script-src
, aby Tracy działała poprawnie. Niektóre wtyczki 3rd mogą wymagać
dodatkowych dyrektyw. Nonce nie jest obsługiwany w dyrektywie style-src
, jeśli używasz tej dyrektywy, musisz
dodać 'unsafe-inline'
, ale należy tego unikać w trybie produkcyjnym.
Przykład konfiguracji dla Nette Framework:
Przykład w czystym PHP:
Szybsze ładowanie
Podstawowa integracja jest prosta, jednak jeśli posiadasz wolno blokujące się skrypty na stronie, mogą one spowolnić
ładowanie Tracy. Rozwiązaniem jest umieszczenie <?php Tracy\Debugger::renderLoader() ?>
w swoim szablonie
przed jakimikolwiek skryptami:
Debugowanie żądań AJAX
Tracy automatycznie przechwytuje żądania AJAX wykonane przy użyciu jQuery lub natywnego interfejsu API fetch
.
Żądania te są wyświetlane jako dodatkowe wiersze na pasku Tracy, umożliwiając łatwe i wygodne debugowanie AJAX.
Jeśli nie chcesz automatycznie przechwytywać żądań AJAX, możesz wyłączyć tę funkcję, ustawiając zmienną JavaScript:
W celu ręcznego monitorowania określonych żądań AJAX, dodaj nagłówek HTTP X-Tracy-Ajax
z wartością
zwracaną przez Tracy.getAjaxHeader()
. Oto przykład użycia go z funkcją fetch
:
Takie podejście pozwala na selektywne debugowanie żądań AJAX.
Przechowywanie danych
Tracy może wyświetlać panele paska Tracy i ekrany Bluescreens dla żądań AJAX i przekierowań. Tracy tworzy własne
sesje, przechowuje dane we własnych plikach tymczasowych i używa pliku cookie tracy-session
.
Tracy może być również skonfigurowany do korzystania z natywnej sesji PHP, która jest uruchamiana przed włączeniem Tracy:
W przypadku, gdy uruchomienie sesji wymaga bardziej złożonej inicjalizacji, można od razu uruchomić Tracy (aby mogła
obsłużyć wszelkie pojawiające się błędy), a następnie zainicjować obsługę sesji i ostatecznie poinformować Tracy, że
sesja jest gotowa do użycia za pomocą funkcji dispatch()
:
Funkcja setSessionStorage()
istnieje od wersji 2.9, wcześniej Tracy zawsze używała natywnej sesji PHP.
Custom Scrubber
Scrubber jest filtrem, który zapobiega wyciekowi wrażliwych danych z zrzutów, takich jak hasła lub poświadczenia. Filtr
ten jest wywoływany dla każdego elementu zrzucanej tablicy lub obiektu i zwraca true
, jeśli wartość jest
wrażliwa. W takim przypadku zamiast wartości wypisywana jest *****
.
Logger niestandardowy
Możemy stworzyć własny logger, który będzie rejestrował błędy, niezałatwione wyjątki, a także będzie wywoływany
przez Tracy\Debugger::log()
. Logger implementuje interfejs Tracy\ILogger.
A następnie aktywujemy go:
Jeśli korzystamy z pełnego Nette Framework, możemy go ustawić w pliku konfiguracyjnym NEON:
Monolog Integration
Pakiet Tracy dostarcza adapter PSR-3, pozwalający na integrację monologu/monologu.
nginx
Jeśli Tracy nie działa na nginx, prawdopodobnie jest źle skonfigurowany. Jeśli jest coś takiego jak
zmień to na