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:
- Open het Health Center onder
/admin/live24h/health. - Controleer in de instellingen de vastgelegde API key en test de verbinding.
- Start de analyse van uw app.
- Bekijk de Website Health Score en de aanbevelingen.
- Selecteer de checks – vergrendelde voorstellen zijn als „Vanaf Pro" gemarkeerd en blijven zichtbaar.
- 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.