Diese Anleitung gilt für Symfony 6.4 LTS und PHP 8.1 oder neuer. Voraussetzung sind ein live24h Account, ein Workspace und ein API-Key mit Schreibrechten – siehe gemeinsame Schritte .
Installieren
Composer-Installation:
composer require live24h/symfony-adapter
Registrieren Sie das Bundle in config/bundles.php:
// config/bundles.php
return [
// ...
Live24h\SymfonyAdapter\Live24hMonitorBundle::class => ['all' => true],
];
Importieren Sie anschließend das Routing des Bundles, zum Beispiel in config/routes/live24h.yaml:
# config/routes/live24h.yaml
live24h_monitor:
resource: '@Live24hMonitorBundle/Resources/config/routes.php'
Legen Sie die Host-Konfiguration unter config/packages/live24h_monitor.yaml an. Sie hält api_base (Standard https://api.live24h.eu), site_url (die öffentliche URL der zu scannenden App) und cache_pool (Standard cache.app):
# config/packages/live24h_monitor.yaml
live24h_monitor:
api_base: 'https://api.live24h.eu'
site_url: 'https://ihre-app.example'
cache_pool: 'cache.app'
Den API-Key tragen Sie zur Laufzeit in der Einstellungen-Oberfläche unter /admin/live24h/settings ein (er wird dort maskiert angezeigt) – er ist kein Konfigurationsschlüssel. Die Listung im Packagist-Marktplatz folgt.
Pfad absichern
Das Bundle wird unter /admin/live24h gemountet und muss vom Host hinter Rolle und Firewall gesichert werden. Beschränken Sie den Pfad in der Symfony-Security per access_control:
# config/packages/security.yaml
security:
access_control:
- { path: ^/admin/live24h, roles: ROLE_ADMIN }
Das Health Center erreichen Sie danach unter /admin/live24h/health.
Schritt für Schritt
Den vollständigen, bebilderten Ablauf finden Sie in der Übersicht . Hier die Schritte für Symfony:
- Öffnen Sie das Health Center unter
/admin/live24h/health. - Prüfen Sie in den Einstellungen den hinterlegten API-Key und testen Sie die Verbindung.
- Starten Sie die Analyse Ihrer App.
- Sehen Sie sich den Website Health Score und die Empfehlungen an.
- Wählen Sie die Checks aus – gesperrte Vorschläge sind als „Ab Pro" markiert und bleiben sichtbar.
- Legen Sie die Checks mit einem Klick in live24h an.
Alternativ per Console-Command
Für headless und wiederholbare Rollouts steht der Console-Command bereit:
# Dry-run: zeigt scan, modules, score und suggestions als Report
php bin/console live24h:scan
# Anlegen: erstellt die Default-Vorschläge
php bin/console live24h:scan --apply
Der Befehl eignet sich für Deploy-Pipelines und Cron, weil er den Scan ohne Backend-Oberfläche aktualisiert. Ohne --apply läuft er als Dry-run.
Problemlösungen und Tipps
Das Health Center unter /admin/live24h/health ist nicht erreichbar.
Prüfen Sie, ob das Bundle in config/bundles.php registriert und das Routing importiert ist, und leeren Sie den Cache mit php bin/console cache:clear. Stellen Sie außerdem sicher, dass Ihr access_control-Eintrag den Zugriff für Ihre Rolle zulässt.
Der Aufruf von /admin/live24h ist nicht abgesichert.
Der Schutz liegt beim Host. Setzen Sie einen access_control-Eintrag für ^/admin/live24h in config/packages/security.yaml und stellen Sie die Route hinter Ihre Firewall.
„Verbindung testen" schlägt fehl.
Prüfen Sie api_key (Schreibrechte erforderlich), api_base (https://api.live24h.eu) und ob der Server ausgehend nach außen verbinden darf. Hosting-Firewalls blockieren ausgehende Requests gelegentlich.
Messenger-Worker oder Scheduler-Tasks erscheinen nicht.
Hintergrund-Jobs werden zur Container-Build-Zeit discovered. Leeren Sie nach Änderungen an Transporten oder Schedules den Cache mit php bin/console cache:clear, damit die Discovery aktualisiert wird. Der Worker-Heartbeat ist opt-in.
Ein Heartbeat-Check bleibt auf „Wartend". Das ist normal und kein Fehler: Ein Heartbeat wartet auf das erste Signal des überwachten Workers (den Ping an die Heartbeat-URL). Solange der Messenger-Worker oder Scheduler-Task sich noch nicht gemeldet hat, steht der Check auf „Wartend" – nicht auf „Ausfall". Mit dem ersten Lauf wechselt der Status auf „Operativ".
Ein Vorschlag ist als „Ab Pro" markiert. Der Check-Typ ist in Ihrem Tarif nicht enthalten. Sie können ihn abwählen oder Ihren Tarif upgraden .
Häufige Fragen
Health Center oder Console-Command – was nehmen? Beides führt zum selben Ergebnis. Das Health Center ist kundennah, der Console-Command eignet sich für headless und wiederholbare Rollouts in Deploy-Pipelines und Cron.
Brauche ich einen Shop oder ein CMS? Nein. Das Bundle ist für individuelle Symfony-Apps und APIs gedacht und enthält keine Commerce-Module.
Werden Mail-Einstellungen geprüft? Ja, informativ: MX, SPF, DKIM und DMARC werden ausgewertet und sichtbar gemacht, lösen aber keinen aktiven Mail-Check aus.