Deze handleiding geldt voor Symfony 6.4 LTS en PHP 8.1 of nieuwer. Voorwaarden zijn een live24h account, een workspace en een API key met schrijfrechten – zie gemeenschappelijke stappen .

Installeren

Composer-installatie:

composer require live24h/symfony-adapter

Registreer de bundle in config/bundles.php:

// config/bundles.php
return [
    // ...
    Live24h\SymfonyAdapter\Live24hMonitorBundle::class => ['all' => true],
];

Importeer daarna de routing van de bundle, bijvoorbeeld in config/routes/live24h.yaml:

# config/routes/live24h.yaml
live24h_monitor:
    resource: '@Live24hMonitorBundle/Resources/config/routes.php'

Maak config/packages/live24h_monitor.yaml aan met api_base, site_url en cache_pool; de API key zelf zet u niet in de config, maar voert u tijdens runtime in de instellingen-UI onder /admin/live24h/settings in (gemaskeerd weergegeven).

# config/packages/live24h_monitor.yaml
live24h_monitor:
    api_base: 'https://api.live24h.eu'   # standaard
    site_url: 'https://uw-app.example'   # publieke URL van de te scannen app
    cache_pool: 'cache.app'              # standaard

De vermelding in de Packagist-marktplaats volgt.

Pad beveiligen

De bundle wordt onder /admin/live24h gemount en moet door de host achter rol en firewall worden beveiligd. Beperk het pad in de Symfony-security via access_control:

# config/packages/security.yaml
security:
    access_control:
        - { path: ^/admin/live24h, roles: ROLE_ADMIN }

Het Health Center bereikt u daarna onder /admin/live24h/health.

Stap voor stap

Het volledige, geïllustreerde verloop vindt u in het overzicht . Hier de stappen voor Symfony:

  1. Open het Health Center onder /admin/live24h/health.
  2. Controleer in de instellingen de vastgelegde API key en test de verbinding.
  3. Start de analyse van uw app.
  4. Bekijk de Website Health Score en de aanbevelingen.
  5. Selecteer de checks – vergrendelde voorstellen zijn als „Vanaf Pro" gemarkeerd en blijven zichtbaar.
  6. Leg de checks met één klik aan in live24h.

Alternatief via een console-command

Voor headless en herhaalbare rollouts staat het console-command klaar:

# Dry-run: toont scan, modules, score en suggestions als report
php bin/console live24h:scan

# Aanmaken: maakt de default-voorstellen aan
php bin/console live24h:scan --apply

Het command leent zich voor deploy-pipelines en cron, omdat het de scan zonder backend-oppervlak actualiseert. Zonder --apply draait het als dry-run.

Probleemoplossingen en tips

Het Health Center onder /admin/live24h/health is niet bereikbaar. Controleer of de bundle in config/bundles.php geregistreerd en de routing geïmporteerd is, en leeg de cache met php bin/console cache:clear. Zorg er bovendien voor dat uw access_control-vermelding de toegang voor uw rol toestaat.

De aanroep van /admin/live24h is niet beveiligd. De bescherming ligt bij de host. Stel een access_control-vermelding voor ^/admin/live24h in config/packages/security.yaml in en plaats de route achter uw firewall.

„Verbinding testen" mislukt. Controleer api_key (schrijfrechten vereist), api_base (https://api.live24h.eu) en of de server uitgaand naar buiten mag verbinden. Hosting-firewalls blokkeren uitgaande requests soms.

Messenger-workers of Scheduler-taken verschijnen niet. Achtergrondtaken worden tijdens de container-build-tijd ontdekt. Leeg na wijzigingen aan transports of schedules de cache met php bin/console cache:clear, zodat de discovery wordt geactualiseerd. De worker-heartbeat is opt-in.

Een heartbeat-check blijft op „Wachtend". Dat is normaal en geen fout: een heartbeat wacht op het eerste signaal van de bewaakte worker (de ping naar de heartbeat-URL). Zolang de Messenger-worker of Scheduler-taak zich nog niet heeft gemeld, staat de check op „Wachtend" – niet op „Storing". Bij de eerste run wisselt de status naar „Operationeel".

Een voorstel is als „Vanaf Pro" gemarkeerd. Het check-type zit niet in uw abonnement. U kunt het deselecteren of uw abonnement upgraden .

Veelgestelde vragen

Health Center of console-command – wat te kiezen? Beide leiden tot hetzelfde resultaat. Het Health Center staat dicht bij de klant, het console-command leent zich voor headless en herhaalbare rollouts in deploy-pipelines en cron.

Heb ik een shop of een CMS nodig? Nee. De bundle is bedoeld voor individuele Symfony-apps en API’s en bevat geen commerce-modules.

Worden mail-instellingen gecontroleerd? Ja, informatief: MX, SPF, DKIM en DMARC worden geëvalueerd en zichtbaar gemaakt, maar leiden niet tot een actieve mail-check.

← Terug naar het plugin-overzicht