Attivazione della libreria
Puoi inviare report sugli errori a Error Reporting dalle applicazioni PHP utilizzando la libreria Error Reporting per PHP. Utilizza la libreria di Error Reporting per PHP per creare gruppi di errori per i seguenti casi:
- Il bucket di log ha chiavi di crittografia gestite dal cliente (CMEK).
- I bucket di log non si trovano nella regione
global
. - Vuoi segnalare eventi di errore personalizzati.
Error Reporting è integrato con alcuni servizi Google Cloud, come App Engine, Compute Engine e Google Kubernetes Engine. Error Reporting visualizza gli errori registrati in Cloud Logging dalle applicazioni in esecuzione su questi servizi. Per ulteriori informazioni, vai ad In esecuzione su Google Cloud in questa pagina.
Puoi anche inviare i dati sugli errori a Error Reporting utilizzando Logging. Per informazioni sui requisiti di formattazione dei dati, consulta Formattazione dei messaggi di errore in Logging.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Error Reporting API .
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Error Reporting API .
Installa la libreria client
La libreria di Error Reporting per PHP consente di monitorare e visualizzare gli errori segnalati dalle applicazioni PHP che vengono eseguite quasi ovunque.
Per ulteriori informazioni sull'installazione, consulta la documentazione relativa alla libreria di Error Reporting per PHP. Puoi anche segnalare i problemi utilizzando lo strumento Issue Tracker.
Configura la libreria client
Puoi personalizzare il comportamento della libreria di Error Reporting per PHP. Consulta la configurazione della libreria per un elenco delle possibili opzioni di configurazione.
Esegui app su Google Cloud
Per creare gruppi di errori utilizzando projects.events.report
, il tuo account di servizio richiede il ruolo Writer Error Reporting (roles/errorreporting.writer
).
Alcuni servizi Google Cloud concedono automaticamente il ruolo Writer Error Reporting (roles/errorreporting.writer
) all'account di servizio appropriato. Tuttavia, devi concedere questo ruolo all'account di servizio appropriato per alcuni servizi.
Ambiente flessibile di App Engine
App Engine concede automaticamente il ruolo Writer Error Reporting (roles/errorreporting.writer
) al tuo account di servizio predefinito.
La libreria di Error Reporting per PHP può essere utilizzata senza dover fornire esplicitamente le credenziali.
Per abilitare Error Reporting nell'ambiente flessibile di App Engine, procedi nel seguente modo:
Installa le librerie necessarie con il seguente comando:
$ composer require google/cloud-error-reporting
Aggiungi la seguente riga alla sezione
runtime_config
inapp.yaml
:
Dopodiché la libreria raccoglie automaticamente tutti gli errori e le eccezioni non rilevate in Error Reporting. Se utilizzi un framework web che installa i propri gestori di eccezioni, consulta la sezione Integrazioni dei framework per ulteriori informazioni.
Google Kubernetes Engine
Per utilizzare Error Reporting con Google Kubernetes Engine:
Assicurati che all'account di servizio che deve essere utilizzato dal container sia stato concesso il ruolo Writer Error Reporting (
roles/errorreporting.writer
).Puoi utilizzare l'account di servizio predefinito di Compute Engine o un account di servizio personalizzato.
Per informazioni sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Crea il cluster e concedi al cluster l'ambito di accesso
cloud-platform
.Ad esempio, il seguente comando create specifica l'ambito di accesso
cloud-platform
e un account di servizio:gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Compute Engine
Per utilizzare Error Reporting con le istanze VM di Compute Engine:
Assicurati che all'account di servizio che deve essere utilizzato dall'istanza VM sia stato concesso il ruolo Writer Error Reporting (
roles/errorreporting.writer
).Puoi utilizzare l'account di servizio predefinito di Compute Engine o un account di servizio personalizzato.
Per informazioni sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
-
Nella console Google Cloud, seleziona Compute Engine e poi Istanze VM, oppure fai clic sul pulsante seguente:
Seleziona l'istanza VM che vuoi ricevere l'ambito di accesso
cloud-platform
.Fai clic su Interrompi e poi su Modifica.
Nella sezione Identità e accesso API, seleziona un account di servizio con il ruolo Writer Error Reporting (
roles/errorreporting.writer
).Nella sezione Ambiti di accesso, seleziona Consenti l'accesso completo a tutte le API Cloud, quindi salva le modifiche.
Fai clic su Avvia/Riprendi.
Esempio
1. Installa le librerie cloud utilizzando il seguente comando:
$ composer require google/cloud-error-reporting
php.ini
, dove WORKSPACE
è il percorso assoluto alla directory principale dell'area di lavoro:
auto_prepend_file='/WORKSPACE/vendor/google/cloud-error-reporting/src/prepend.php'
Questo file antepone l'utente installa un gestore di eccezioni e un gestore degli errori che invia automaticamente gli errori a Error Reporting.
Se utilizzi l'ambiente flessibile di App Engine, consulta Ambiente flessibile di App Engine in questa pagina.
Eseguire app in un ambiente di sviluppo locale
Per utilizzare la libreria di Error Reporting per PHP in un ambiente di sviluppo locale, ad esempio l'esecuzione della libreria sulla tua workstation, devi fornire la libreria di Error Reporting per PHP con le credenziali predefinite dell'applicazione locale. Per ulteriori informazioni, vedi Eseguire l'autenticazione in Error Reporting.
Per utilizzare gli PHP esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- 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.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
La
projects.events.report
metodo
supporta le chiavi API.
Se vuoi utilizzare le chiavi API per l'autenticazione, non è necessario configurare un file Credenziali predefinite dell'applicazione locale.
Per ulteriori informazioni, vedi
Crea una chiave API
nella documentazione sull'autenticazione di Google Cloud.
Visualizzazione dei rapporti degli errori
Nella console Google Cloud, seleziona Error Reporting oppure fai clic sul pulsante seguente e seleziona un progetto:
Per ulteriori informazioni, consulta la sezione Visualizzazione degli errori.
Integrazioni del framework
Alcuni framework web sostituiscono il gestore delle eccezioni. Di seguito sono riportati alcuni esempi per abilitare Error Reporting con Laravel e Symfony. Per altri framework, puoi utilizzare Google\Cloud\ErrorReporting\Bootstrap::exceptionHandler
come gestore delle eccezioni.
Laravel
Modifica la funzione report
nel file app/Exceptions/Handler.php
come segue:
Devi anche aggiungere un'istruzione use
di una riga all'inizio del file:
use Google\Cloud\ErrorReporting\Bootstrap;
Symfony
Crea un nuovo file src/AppBundle/EventSubscriber/ExceptionSubscriber.php
con i
contenuti seguenti: