Questa guida vale per Symfony 6.4 LTS e PHP 8.1 o successivo. Sono necessari un account live24h, un workspace e una API key con permessi di scrittura – vedi passaggi comuni .

Installazione

Installazione tramite Composer:

composer require live24h/symfony-adapter

Registra il bundle in config/bundles.php:

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

Importa poi il routing del bundle, ad esempio in config/routes/live24h.yaml:

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

Crea poi config/packages/live24h_monitor.yaml con i tre parametri api_base (predefinito https://api.live24h.eu), site_url (l’URL pubblico dell’app da analizzare) e cache_pool (predefinito cache.app):

# config/packages/live24h_monitor.yaml
live24h_monitor:
    api_base: 'https://api.live24h.eu'
    site_url: 'https://www.example.com'
    cache_pool: 'cache.app'

La API key non è un parametro di configurazione: la inserisci a runtime nell’interfaccia delle Impostazioni sotto /admin/live24h/settings (mostrata mascherata). La pubblicazione nel marketplace Packagist seguirà.

Proteggere il percorso

Il bundle viene montato sotto /admin/live24h e deve essere protetto dall’host dietro ruolo e firewall. Limita il percorso nella security di Symfony tramite access_control:

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

Dopodiché raggiungi il Health Center sotto /admin/live24h/health.

Passo dopo passo

Il flusso completo e illustrato lo trovi nella panoramica . Qui i passaggi per Symfony:

  1. Apri il Health Center sotto /admin/live24h/health.
  2. Verifica nelle Impostazioni la API key inserita e testa la connessione.
  3. Avvia l’analisi della tua app.
  4. Guarda il Website Health Score e le raccomandazioni.
  5. Seleziona i check – i suggerimenti bloccati sono contrassegnati come «Da Pro» e restano visibili.
  6. Crea i check in live24h con un clic.

In alternativa tramite Console-Command

Per rollout headless e ripetibili è disponibile il Console-Command:

# Dry-run: mostra scan, modules, score e suggestions come report
php bin/console live24h:scan

# Creazione: crea i suggerimenti di default
php bin/console live24h:scan --apply

Il comando è adatto a pipeline di deploy e Cron, perché aggiorna la scansione senza interfaccia backend. Senza --apply gira come dry-run.

Soluzione dei problemi e suggerimenti

Il Health Center sotto /admin/live24h/health non è raggiungibile. Verifica che il bundle sia registrato in config/bundles.php e che il routing sia importato, e svuota la cache con php bin/console cache:clear. Assicurati inoltre che la tua voce access_control consenta l’accesso al tuo ruolo.

La chiamata a /admin/live24h non è protetta. La protezione spetta all’host. Imposta una voce access_control per ^/admin/live24h in config/packages/security.yaml e metti la rotta dietro la tua firewall.

Il «test di connessione» fallisce. Controlla la api_key (sono necessari i permessi di scrittura), la api_base (https://api.live24h.eu) e se il server può aprire connessioni verso l’esterno. I firewall dell’hosting talvolta bloccano le richieste in uscita.

I Messenger-Worker o i task dello Scheduler non compaiono. I job in background vengono individuati al momento della build del container. Dopo modifiche ai transport o agli schedule svuota la cache con php bin/console cache:clear, così la discovery viene aggiornata. Il worker heartbeat è opt-in.

Un check heartbeat resta su «In attesa». È normale e non è un errore: un heartbeat attende il primo segnale del worker monitorato (il ping all’URL dell’heartbeat). Finché il Messenger-Worker o il task dello Scheduler non si è ancora annunciato, il check resta su «In attesa» – non su «Inattivo». Con la prima esecuzione lo stato passa a «Operativo».

Un suggerimento è contrassegnato come «Da Pro». Il tipo di check non è incluso nel tuo piano. Puoi deselezionarlo oppure aggiornare il piano .

Domande frequenti

Health Center o Console-Command – cosa scegliere? Entrambi portano allo stesso risultato. Il Health Center è vicino al cliente, il Console-Command è adatto a rollout headless e ripetibili in pipeline di deploy e Cron.

Mi serve uno shop o un CMS? No. Il bundle è pensato per app e API Symfony individuali e non contiene moduli commerce.

Vengono verificate le impostazioni email? Sì, a titolo informativo: MX, SPF, DKIM e DMARC vengono valutati e resi visibili, ma non attivano un check email attivo.

← Torna alla panoramica dei plugin