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:

  1. Öffnen Sie das Health Center unter /admin/live24h/health.
  2. Prüfen Sie in den Einstellungen den hinterlegten API-Key und testen Sie die Verbindung.
  3. Starten Sie die Analyse Ihrer App.
  4. Sehen Sie sich den Website Health Score und die Empfehlungen an.
  5. Wählen Sie die Checks aus – gesperrte Vorschläge sind als „Ab Pro" markiert und bleiben sichtbar.
  6. 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.

← Zurück zur Plugin-Übersicht