Puedes enviar informes de errores a Error Reporting desde aplicaciones PHP mediante la biblioteca de Error Reporting para PHP. Usa la biblioteca de Error Reporting para PHP a fin de crear grupos de errores para los siguientes casos:
- Un bucket de registros que contiene tus entradas de registro cuenta con encriptación administrada por el cliente claves (CMEK).
- El bucket de registros cumple con una de las siguientes condiciones:
- El bucket de registros se almacena en el mismo proyecto en el que se encuentran se originó.
- Las entradas de registro se enrutaron a un proyecto, que luego almacenó esas entradas de registro en un bucket de registros de su propiedad.
- Deseas informar eventos de error personalizados.
Error Reporting está integrado en algunos servicios de Google Cloud, como Cloud Functions y App Engine, Compute Engine y Google Kubernetes Engine. Error Reporting muestra los errores que registran las aplicaciones que se ejecutan en esos servicios en Cloud Logging. Para obtener más información, ve a Se está ejecutando en Google Cloud en este .
También puedes enviar datos de errores a Error Reporting mediante Logging. Para obtener información sobre los requisitos de formato de datos, consulta Dale formato a los mensajes de error en Logging.
Antes de comenzar
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Enable the Error Reporting API .
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Enable the Error Reporting API .
Instala la biblioteca cliente
La biblioteca de Error Reporting para PHP te permite supervisar y ver errores informados por Aplicaciones de PHP que se ejecutan casi en cualquier lugar.
Para obtener más información sobre la instalación, lee la documentación de la biblioteca de Error Reporting para PHP. También puedes informar problemas con el seguimiento de problemas.
Configura la biblioteca cliente
Puedes personalizar el comportamiento de la biblioteca d Error Reporting para PHP. Consulta la configuración de la biblioteca para obtener una lista de las opciones de configuración posibles.
Ejecuta apps en Google Cloud
Para crear grupos de errores con
projects.events.report
, tu cuenta de servicio requiere la
Rol de escritor de Error Reporting (roles/errorreporting.writer
).
Algunos servicios de Google Cloud otorgan
rol de escritor de Error Reporting (roles/errorreporting.writer
) para el rol adecuado
cuenta de servicio. Sin embargo, debes otorgar este rol al servicio correspondiente
para algunos servicios.
Entorno flexible de App Engine
App Engine otorga la
Rol de escritor de Error Reporting (roles/errorreporting.writer
)
automáticamente a tu cuenta de servicio predeterminada.
La biblioteca de Error Reporting para PHP se puede usar sin necesidad de proporcionar credenciales de forma explícita.
Para habilitar Error Reporting en el entorno flexible de App Engine, sigue estos pasos:
Instala las bibliotecas necesarias con el siguiente comando:
$ composer require google/cloud-error-reporting
Agrega la siguiente línea a la sección
runtime_config
enapp.yaml
:
Luego, la biblioteca recopila de manera automática todos los errores y las excepciones no detectadas en Error Reporting. Si utilizas un marco de trabajo web que instala sus propios controladores de excepciones, consulta la sección de integraciones de marcos de trabajo para obtener más información.
Google Kubernetes Engine
Para usar Error Reporting con Google Kubernetes Engine, haz lo siguiente:
Asegúrate de que la cuenta de servicio que usará tu contenedor se haya concedido el Función de escritor de Error Reporting (
roles/errorreporting.writer
).Puedes usar la cuenta de servicio predeterminada de Compute Engine o una personalizada.
Para obtener información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Crea tu clúster y otórgale los permisos
cloud-platform
: permiso de acceso.Por ejemplo, el siguiente comando create especifica el
cloud-platform
permiso de acceso y una cuenta de servicio:gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Compute Engine
Para usar Error Reporting con instancias de VM de Compute Engine, haz lo siguiente:
Asegúrate de que la cuenta de servicio que utilizará tu instancia de VM esté concedido el Función de escritor de Error Reporting (
roles/errorreporting.writer
).Puedes usar la cuenta de servicio predeterminada de Compute Engine o una personalizada.
Para obtener información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
-
En la consola de Google Cloud, ve a la página Instancias de VM.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Compute Engine.
Selecciona la instancia de VM que quieres que reciba la
cloud-platform
: permiso de acceso.Haz clic en Detener y, luego, en Editar.
En la sección Identidad y acceso a la API, selecciona una cuenta de servicio que tiene el rol de escritor de Error Reporting (
roles/errorreporting.writer
).En la sección Permisos de acceso, Selecciona Permitir el acceso total a todas las APIs de Cloud y, luego, guarda los cambios.
Haz clic en Iniciar/Reanudar.
Cloud Functions
Cloud Run Functions otorga la
Rol de escritor de Error Reporting (roles/errorreporting.writer
)
automáticamente a tu cuenta de servicio predeterminada.
La biblioteca de Error Reporting para PHP se puede usar sin necesidad de proporcionar credenciales de forma explícita.
Las funciones de Cloud Run están configuradas para usar Error Reporting automáticamente. No controlado Las excepciones de JavaScript aparecerán en Logging y se procesarán de Error Reporting sin necesidad de usar Biblioteca de Error Reporting para PHP.
Ejemplo
1. Instala las bibliotecas de Cloud con el siguiente comando:
$ composer require google/cloud-error-reporting2) Agrega la siguiente línea a tu
php.ini
, en la que WORKSPACE.
es la ruta de acceso absoluta al directorio raíz de tu lugar de trabajo:
auto_prepend_file='/WORKSPACE/vendor/google/cloud-error-reporting/src/prepend.php'
Este archivo antepuesto instala un controlador de excepciones y un controlador de errores que envía errores a Error Reporting de forma automática.
Si usas el entorno flexible de App Engine, consulta Entorno flexible de App Engine en esta página.
Ejecuta apps en un entorno de desarrollo local
Si deseas usar la biblioteca de Error Reporting para PHP en un entorno de desarrollo local, sigue estos pasos: como ejecutar la biblioteca en tu propia estación de trabajo, debes proporcionar tu biblioteca de Error Reporting para PHP con las credenciales predeterminadas de la aplicación local. Para obtener más información, consulta Autentícate en Error Reporting.
Para usar las muestras de PHP de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Para obtener más información, consulta Set up authentication for a local development environment.
El
método projects.events.report
también admite claves de API.
Si deseas usar claves de API para la autenticación, no necesitas configurar un archivo local de credenciales predeterminadas de la aplicación.
Para obtener más información, consulta
Crea una clave de API en la documentación de autenticación de Google Cloud.
Ve informes de errores
En la consola de Google Cloud, ve a la página Error Reporting.
También puedes usar la barra de búsqueda para encontrar esta página.
Para obtener más información, consulta Cómo visualizar errores.
Integraciones de marcos de trabajo
Algunos marcos de trabajo web anulan el controlador de excepciones. Los siguientes son ejemplos para habilitar Error Reporting con Laravel y Symfony. Para otros marcos de trabajo, puedes usar Google\Cloud\ErrorReporting\Bootstrap::exceptionHandler
como el controlador de excepciones.
Laravel
Edita la función report
en el archivo app/Exceptions/Handler.php
de la siguiente manera:
También debes agregar una instrucción use
de una línea al comienzo del archivo:
use Google\Cloud\ErrorReporting\Bootstrap;
Symfony
Crea un archivo nuevo src/AppBundle/EventSubscriber/ExceptionSubscriber.php
con el siguiente contenido: