Configurazione di Cloud Debugger per PHP

Panoramica

In questa pagina viene descritto come configurare l'ambiente e l'applicazione PHP per utilizzare Cloud Debugger. Per alcuni ambienti devi specificare esplicitamente l'ambito di accesso per consentire all'agente Cloud Debugger di inviare i dati. Ti consigliamo di impostare l'ambito di accesso più ampio possibile e quindi utilizzare Identity and Access Management per limitare l'accesso. In base a questa best practice, imposta l'ambito di accesso su tutte le API Cloud con l'opzione cloud-platform.

Versioni linguistiche e ambienti di calcolo

Cloud Debugger è disponibile per PHP 7.0 e versioni successive nei seguenti ambienti di computing:

Ambiente standard di App Engine Ambiente flessibile di App Engine Compute Engine Google Kubernetes Engine Cloud Run Cloud Run for Anthos VM e container in esecuzione altrove Cloud Functions

Configurazione di Cloud Debugger

Per configurare Cloud Debugger, completa le seguenti attività:

  1. Verifica che l'API Cloud Debugger sia abilitata per il tuo progetto.

  2. Installa e configura il debugger nell'ambiente di calcolo che stai utilizzando.

  3. Seleziona il codice sorgente.

La verifica dell'API Cloud Debugger è abilitata

Per iniziare a utilizzare Cloud Debugger, assicurati che l'API Cloud Debugger sia abilitata. Cloud Debugger è abilitato per impostazione predefinita per la maggior parte dei progetti.
Abilita l'API Cloud Debugger

Ambiente flessibile di App Engine

  1. Installa l'estensione stackdriver_debugger da PECL:

    pecl install stackdriver_debugger-alpha
    

    Se il file php.ini non include extension=stackdriver_debugger.so dopo aver eseguito questo passaggio, aggiungilo manualmente.

  2. Aggiungi il pacchetto Debugger Google Cloud PHP al tuo file composer.json:

    composer require google/cloud-debugger
    
  3. Aggiungi l'estensione PHP Cloud Debugger tramite il tuo file composer.json:

    composer require ext-stackdriver_debugger:*
    
  4. Imposta enable_stackdriver_integrations nel file app.yaml:

    runtime_config:
      enable_stackdriver_integration: true
    
  5. Attiva l'agente.

    Aggiungi il seguente codice all'app il prima possibile nella richiesta:

    use Google\Cloud\Debugger\Agent;
    
    $agent = new Agent(['sourceRoot' => realpath('/app')]);
    

Il debugger è ora pronto per essere utilizzato con la tua app.

Google Kubernetes Engine

GCLOUD

Per attivare Debugger utilizzando gcloud, completa i seguenti passaggi:

  1. Crea il cluster con uno dei seguenti ambiti di accesso:

    • https://www.googleapis.com/auth/cloud-platform concede al cluster l'accesso a tutte le API Google Cloud.

    • https://www.googleapis.com/auth/cloud_debugger concede al cluster l'accesso solo all'API Debugger. Utilizza questo ambito di accesso per proteggere la sicurezza del tuo cluster.

    gcloud container clusters create example-cluster-name \
           --scopes=https://www.googleapis.com/auth/cloud_debugger
    
  2. Installa l'estensione PHP Cloud Debugger nel tuo container. Se hai installato PECL, puoi farlo aggiungendo la seguente riga a Dockerfile:

    RUN pecl install stackdriver_debugger_alpha
    
  3. Per aggiungere il pacchetto Debugger alla tua applicazione, esegui il comando seguente nella tua applicazione:

    composer require google/cloud-debugger
    
  4. Aggiungi la seguente riga a Dockerfile per configurare un daemon per eseguire il processo del daemon Debugger:

    RUN php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  5. Aggiungi le seguenti righe di codice alla tua app il prima possibile nella richiesta per abilitare l'agente Debugger:

    use Google\Cloud\Debugger\Agent;
    
    $agent = new Agent(['sourceRoot' => realpath('/[YOUR-APP-PATH]')]);
    

Il debugger è ora pronto per l'uso durante il deployment dell'app containerizzata.

CONSOLE

Per attivare Debugger utilizzando Google Cloud Console, completa i seguenti passaggi:

  1. Nella sezione Pool di nodi, seleziona Sicurezza, quindi seleziona Imposta l'accesso per ogni API.

  2. Abilita Debugger.

    L'API Debugger è abilitata per il cluster.

  3. (Facoltativo) Seleziona Consenti l'accesso completo a tutte le API di Cloud.

Compute Engine

  1. Assicurati che le istanze di Compute Engine vengano create con l'opzione dell'ambito di accesso Consenti l'accesso completo a tutte le API di Cloud o hanno uno dei seguenti ambiti di accesso:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  2. Installa l'estensione stackdriver_debugger (se utilizzi i container, installala nell'immagine) da PECL:

    pecl install stackdriver_debugger-alpha
    
  3. Aggiungi il pacchetto Debugger Google Cloud PHP al tuo file composer.json:

    composer require google/cloud-debugger
    
  4. Configura un daemon per eseguire il processo del daemon Debugger:

    php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  5. Attiva l'agente.

    Aggiungi il seguente codice all'app il prima possibile nella richiesta:

    use Google\Cloud\Debugger\Agent;
    
    $agent = new Agent(['sourceRoot' => realpath('/[YOUR-APP-PATH]')]);
    

Il debugger è ora pronto per essere utilizzato con la tua app.

Locale e altrove

  1. Installa l'estensione stackdriver_debugger da PECL:

    pecl install stackdriver_debugger-alpha
    
  2. Aggiungi il pacchetto Debugger Google Cloud PHP al tuo file composer.json:

    composer require google/cloud-debugger
    
  3. Esegui il processo del daemon di Cloud Debugger:

    php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  4. Attiva l'agente.

    Aggiungi il seguente codice all'app il prima possibile nella richiesta:

    use Google\Cloud\Debugger\Agent;
    
    $agent = new Agent(['sourceRoot' => realpath('/[YOUR-APP-PATH]')]);
    

Il debugger è ora pronto per essere utilizzato con la tua app.

Nella pagina Debug nella console Google Cloud puoi visualizzare i file di origine locali, senza caricamento, per lo sviluppo locale. Consulta Selezione manuale del codice sorgente.