Esta guía es válida para Symfony 6.4 LTS y PHP 8.1 o posterior. Necesita una cuenta live24h, un Workspace y una API key con permisos de escritura: consulte los pasos comunes .

Instalar

Instalación con Composer:

composer require live24h/symfony-adapter

Registre el bundle en config/bundles.php:

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

A continuación importe el routing del bundle, por ejemplo en config/routes/live24h.yaml:

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

Cree el archivo config/packages/live24h_monitor.yaml con las claves api_base (por defecto https://api.live24h.eu), site_url (la URL pública de la aplicación que se va a analizar) y cache_pool (por defecto cache.app). La API key no es una clave de configuración: se introduce en tiempo de ejecución desde la interfaz de Ajustes en /admin/live24h/settings (se muestra enmascarada). La publicación en el marketplace de Packagist llegará después.

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

Proteger la ruta

El bundle se monta en /admin/live24h y debe asegurarse desde el host detrás de un rol y un firewall. Restrinja la ruta en la seguridad de Symfony mediante access_control:

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

Después accederá al Health Center en /admin/live24h/health.

Paso a paso

El flujo completo e ilustrado lo encontrará en la visión general . Estos son los pasos para Symfony:

  1. Abra el Health Center en /admin/live24h/health.
  2. Compruebe en los Ajustes la API key registrada y pruebe la conexión.
  3. Inicie el análisis de su aplicación.
  4. Revise el Website Health Score y las recomendaciones.
  5. Seleccione los checks: las sugerencias bloqueadas aparecen marcadas como «Desde Pro» y siguen visibles.
  6. Cree los checks en live24h con un clic.

Como alternativa, por comando de consola

Para despliegues headless y repetibles está disponible el comando de consola:

# Dry-run: muestra scan, modules, score y suggestions como informe
php bin/console live24h:scan

# Crear: genera las sugerencias por defecto
php bin/console live24h:scan --apply

El comando es ideal para pipelines de despliegue y cron, porque actualiza el escaneo sin interfaz de backend. Sin --apply se ejecuta como dry-run.

Resolución de problemas y consejos

El Health Center en /admin/live24h/health no es accesible. Compruebe si el bundle está registrado en config/bundles.php y el routing importado, y vacíe la caché con php bin/console cache:clear. Asegúrese además de que su entrada access_control permita el acceso a su rol.

La llamada a /admin/live24h no está protegida. La protección recae en el host. Defina una entrada access_control para ^/admin/live24h en config/packages/security.yaml y coloque la ruta detrás de su firewall.

La «prueba de conexión» falla. Compruebe la api_key (se requieren permisos de escritura), la api_base (https://api.live24h.eu) y si el servidor tiene permiso para conectar hacia el exterior. Los firewalls del hosting bloquean a veces las peticiones salientes.

Los Messenger workers o las tareas de Scheduler no aparecen. Los jobs en segundo plano se descubren en el momento del build del contenedor. Tras cambios en transportes o schedules, vacíe la caché con php bin/console cache:clear para que el descubrimiento se actualice. El heartbeat de worker es opt-in.

Un check de heartbeat se queda en «En espera». Es normal y no es un error: un heartbeat espera la primera señal del worker supervisado (el ping a la URL del heartbeat). Mientras el Messenger worker o la tarea de Scheduler no se hayan reportado todavía, el check permanece en «En espera», no en «Caído». Con la primera ejecución, el estado pasa a «Operativo».

Una sugerencia aparece marcada como «Desde Pro». El tipo de check no está incluido en su plan. Puede deseleccionarlo o mejorar su plan .

Preguntas frecuentes

¿Health Center o comando de consola: qué elegir? Ambos llevan al mismo resultado. El Health Center es cercano al cliente; el comando de consola es ideal para despliegues headless y repetibles en pipelines de despliegue y cron.

¿Necesito una tienda o un CMS? No. El bundle está pensado para aplicaciones Symfony y APIs a medida, y no contiene módulos de comercio.

¿Se comprueban los ajustes de correo? Sí, a título informativo: MX, SPF, DKIM y DMARC se evalúan y se hacen visibles, pero no disparan un check de correo activo.

← Volver a la visión general de plugins