Verificación y problemas habituales - PHP

3 min de lectura Actualizado: 11.09.2026

Un evento controlado

php
use function Dock\Ray\captureMessage;

captureMessage('Mensaje de control DockRay');

En CLI el evento sale en línea (send_after_response está desactivado ahí por defecto), así que es la forma más rápida de comprobar la conexión. En web el evento sale solo después de enviar la respuesta: es normal y no significa que algo esté roto.

Problemas habituales

No llega nada al panel

Comprueba en orden: si init() se llama realmente (la causa más frecuente en una aplicación sin framework), si el token y la clave están definidos y pertenecen al mismo proyecto, si la clave ha sido revocada y si el servidor permite HTTPS saliente.

Los eventos de CLI llegan y los de web no

En web el envío ocurre al cerrar, tras enviar la respuesta. Si el proceso termina de golpe - un exit dentro de un manejador de errores, una caída de PHP-FPM, un proceso matado - la cola nunca se vacía. Para diagnosticarlo, pon temporalmente 'send_after_response' => false: si entonces llegan los eventos, el problema es cómo termina el proceso, no la conexión.

Toda la pila parece código de vendor/

Falta in_app_exclude. Sin esa opción el SDK no sabe dónde acaba tu aplicación y empieza una biblioteca, y el lugar del fallo apunta al frame más profundo en lugar del que significa algo.

Con mucha carga se pierden algunos eventos

La cola guarda como máximo 50 eventos por petición; por encima se descartan los nuevos. Si una petición genera más, casi siempre es un error dentro de un bucle, y el panel lo mostrará igualmente como una fila con contador. Revisa también sample_rate si se ha bajado.

Faltan errores de PHP, solo llegan excepciones

error_types sigue por defecto a error_reporting(). Si la aplicación lo estrecha en php.ini o en el bootstrap, DockRay recibe exactamente ese rango recortado. Define error_types de forma explícita cuando quieras otra cosa.

Faltan transacciones

En este SDK las transacciones tienes que abrirlas tú mediante HttpTransaction: aquí no hay middleware automático. Además, solo se envían con traces_sample_rate mayor que cero.

Un evento se descartó por el camino

Revisa before_send: devolver null descarta el evento. Es la causa más habitual de «algunos errores llegan y otros no» en una aplicación donde alguien puso ahí un filtro.

El panel responde 200 pero no aparece el evento

Una respuesta 200 {"success": false} significa que la cuenta ha agotado su cupo mensual de errores. La integración no lo trata como una avería, y hace bien. El cupo se ve en el panel de la cuenta; hasta fin de mes se calcula a partir del consumo registrado, así que borrar errores no lo reinicia.

Sigue sin funcionar

Repasa la lista de comprobación de falta de datos y, si no ayuda, escríbenos. Indica el nombre del proyecto, la versión de la integración y la hora aproximada de la prueba: acorta el camino a la respuesta.

Habla con nosotros El chat está cerrado ahora mismo Horario: lu–vi 08:00–18:00