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:

  1. Otwórz Health Center pod /admin/live24h/health.
  2. Sprawdź w Ustawieniach wprowadzony API key i przetestuj połączenie.
  3. Uruchom analizę swojej aplikacji.
  4. Obejrzyj Website Health Score i rekomendacje.
  5. Wybierz checki – zablokowane propozycje są oznaczone jako „Od Pro" i pozostają widoczne.
  6. 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.

← Powrót do przeglądu wtyczek