Ta instrukcja dotyczy Symfony 6.4 LTS oraz PHP 8.1 lub nowszego. Wymagane są konto live24h, Workspace i API key z prawem zapisu – zobacz wspólne kroki .
Instalacja
Instalacja przez Composer:
composer require live24h/symfony-adapter
Zarejestruj bundle w config/bundles.php:
// config/bundles.php
return [
// ...
Live24h\SymfonyAdapter\Live24hMonitorBundle::class => ['all' => true],
];
Następnie zaimportuj routing bundle, na przykład w config/routes/live24h.yaml:
# config/routes/live24h.yaml
live24h_monitor:
resource: '@Live24hMonitorBundle/Resources/config/routes.php'
Utwórz config/packages/live24h_monitor.yaml z kluczami api_base (domyślnie https://api.live24h.eu), site_url (publiczny URL aplikacji do skanowania) oraz cache_pool (domyślnie cache.app). API key nie jest kluczem konfiguracji – wprowadzasz go w czasie działania w UI Ustawień pod /admin/live24h/settings (wyświetlany zamaskowany).
# config/packages/live24h_monitor.yaml
live24h_monitor:
api_base: 'https://api.live24h.eu'
site_url: 'https://twoja-aplikacja.example.com'
cache_pool: 'cache.app'
Wpis na marketplace Packagist pojawi się wkrótce.
Zabezpieczenie ścieżki
Bundle jest montowany pod /admin/live24h i musi być zabezpieczony przez host za rolą i firewallem. Ogranicz ścieżkę w Symfony Security przez access_control:
# config/packages/security.yaml
security:
access_control:
- { path: ^/admin/live24h, roles: ROLE_ADMIN }
Health Center jest następnie dostępne pod /admin/live24h/health.
Krok po kroku
Pełny, zilustrowany przebieg znajdziesz w przeglądzie . Tutaj kroki dla Symfony:
- Otwórz Health Center pod
/admin/live24h/health. - Sprawdź w Ustawieniach wprowadzony API key i przetestuj połączenie.
- Uruchom analizę swojej aplikacji.
- Obejrzyj Website Health Score i rekomendacje.
- Wybierz checki – zablokowane propozycje są oznaczone jako „Od Pro" i pozostają widoczne.
- Załóż checki jednym kliknięciem w live24h.
Alternatywnie przez komendę Console
Dla wdrożeń headless i powtarzalnych dostępna jest komenda Console:
# Dry-run: pokazuje scan, modules, score i suggestions jako raport
php bin/console live24h:scan
# Zakładanie: tworzy domyślne propozycje
php bin/console live24h:scan --apply
Komenda nadaje się do pipeline’ów deploy i Cron, ponieważ aktualizuje skan bez interfejsu backendu. Bez --apply działa jako Dry-run.
Rozwiązywanie problemów i wskazówki
Health Center pod /admin/live24h/health jest niedostępne.
Sprawdź, czy bundle jest zarejestrowany w config/bundles.php, a routing zaimportowany, oraz wyczyść cache przez php bin/console cache:clear. Upewnij się ponadto, że Twój wpis access_control dopuszcza dostęp dla Twojej roli.
Wywołanie /admin/live24h nie jest zabezpieczone.
Ochrona leży po stronie hosta. Ustaw wpis access_control dla ^/admin/live24h w config/packages/security.yaml i umieść trasę za swoim firewallem.
„Test połączenia" kończy się błędem.
Sprawdź api_key (wymagane prawo zapisu), api_base (https://api.live24h.eu) oraz to, czy serwer może nawiązywać połączenia wychodzące na zewnątrz. Firewalle hostingu czasem blokują żądania wychodzące.
Workery Messenger lub zadania Scheduler się nie pojawiają.
Joby w tle są discoverowane w czasie buildu kontenera. Po zmianach w transportach lub harmonogramach wyczyść cache przez php bin/console cache:clear, aby discovery zostało zaktualizowane. Heartbeat workera jest opt-in.
Check heartbeat pozostaje na „Oczekuje". To normalne i nie jest błędem: heartbeat czeka na pierwszy sygnał monitorowanego workera (ping pod adres URL heartbeatu). Dopóki worker Messenger lub zadanie Scheduler jeszcze się nie zgłosiło, check pozostaje na „Oczekuje" – nie na „Awaria". Po pierwszym przebiegu status zmienia się na „Operacyjny".
Propozycja jest oznaczona jako „Od Pro". Typ checku nie jest zawarty w Twoim tarifie. Możesz go odznaczyć lub zmienić tarif na wyższy .
Najczęstsze pytania
Health Center czy komenda Console – co wybrać? Oba prowadzą do tego samego rezultatu. Health Center jest blisko klienta, a komenda Console nadaje się do wdrożeń headless i powtarzalnych w pipeline’ach deploy i Cron.
Czy potrzebuję sklepu lub CMS? Nie. Bundle jest przeznaczony dla indywidualnych aplikacji Symfony i API i nie zawiera modułów Commerce.
Czy sprawdzane są ustawienia poczty? Tak, informacyjnie: MX, SPF, DKIM i DMARC są analizowane i uwidaczniane, ale nie wywołują aktywnego checku poczty.