Configurer Cloud Debugger pour PHP

Aperçu

Cette page explique comment configurer l'environnement et l'application PHP pour qu'ils utilisent Cloud Debugger. Pour certains environnements, vous devez spécifier explicitement le champ d'application d'accès pour permettre à l'agent Cloud Debugger d'envoyer des données. Nous vous recommandons de définir le niveau d'accès le plus large possible, puis d'utiliser Identity and Access Management pour limiter l'accès. Conformément à cette bonne pratique, définissez le niveau d'accès sur toutes les API Cloud avec l'option cloud-platform.

Versions de langages et environnements de calcul

Cloud Debugger est disponible pour PHP version 7.0 ou ultérieure dans les environnements de calcul suivants :

Environnement standard App Engine Environnement flexible App Engine Compute Engine Google Kubernetes Engine Cloud Run Cloud Run for Anthos sur Google Cloud VM et conteneurs s'exécutant ailleurs Cloud Functions

Configurer Cloud Debugger

Pour configurer Cloud Debugger, procédez comme suit :

  1. Vérifiez que l'API Cloud Debugger est activée pour votre projet.

  2. Installez et configurez le Debugger sur l'environnement de calcul que vous utilisez.

  3. Sélectionnez votre code source.

Vérifier que l'API Cloud Debugger est activée

Pour commencer à utiliser Cloud Debugger, assurez-vous que l'API Cloud Debugger est activée. Cloud Debugger est activé par défaut pour la plupart des projets.
Activer l'API Cloud Debugger

Environnement flexible App Engine

  1. Installez l'extension stackdriver_debugger à partir de PECL :

    pecl install stackdriver_debugger-alpha
    

    Si le fichier php.ini n'inclut pas extension=stackdriver_debugger.so après cette étape, ajoutez-le manuellement.

  2. Ajoutez le package Google Cloud Debugger PHP au fichier composer.json :

    composer require google/cloud-debugger
    
  3. Ajoutez l'extension Cloud Debugger PHP via le fichier composer.json :

    composer require ext-stackdriver_debugger:*
    
  4. Définissez enable_stackdriver_integrations dans le fichier app.yaml :

    runtime_config:
      enable_stackdriver_integration: true
    
  5. Activez l'agent.

    Ajoutez le code suivant à l'application dans les premières sections de la requête :

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

Le débogueur est maintenant prêt à être utilisé avec l'application.

Google Kubernetes Engine

GCLOUD

Pour activer Debugger à l'aide de gcloud, procédez comme suit :

  1. Créez votre cluster avec l'un des niveaux d'accès suivants :

    • https://www.googleapis.com/auth/cloud-platform permet à votre cluster d'accéder à toutes les API Google Cloud.

    • https://www.googleapis.com/auth/cloud_debugger ne permet à votre cluster d'accéder qu'à l'API Debugger. Utilisez ce niveau d'accès pour renforcer la sécurité de votre cluster.

    gcloud container clusters create example-cluster-name \
           --scopes=https://www.googleapis.com/auth/cloud_debugger
    
  2. Installez l'extension Cloud Debugger PHP dans votre conteneur. Si vous avez installé PECL, vous pouvez pour cela ajouter la ligne suivante à votre fichier Dockerfile :

    RUN pecl install stackdriver_debugger_alpha
    
  3. Ajoutez le package Debugger à votre application en exécutant la commande suivante dans votre application :

    composer require google/cloud-debugger
    
  4. Ajoutez la ligne suivante à votre fichier Dockerfile pour configurer un daemon afin d'exécuter le processus daemon Debugger :

    RUN php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  5. Ajoutez les lignes de code suivantes à votre application dans les premières sections de la requête pour activer l'agent Debugger :

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

Le débogueur est maintenant prêt à être utilisé lors du déploiement de votre application en conteneur.

CONSOLE

Pour activer Debugger à l'aide de la console, procédez comme suit :

  1. Après avoir sélectionné le type de cluster, cliquez sur More options (Plus d'options) dans le volet Node pools (Pools de nœuds) :

    Champ du pool de nœuds comprenant un rectangle rouge entourant le bouton

  2. Sélectionnez l'une des options suivantes dans le volet Sécurité :

    • Autoriser l'accès complet à l'ensemble des API Cloud

    • Définir l'accès pour chaque API, puis sélectionner Activé pour Cloud Debugger

Compute Engine

  1. Assurez-vous que vos instances Compute Engine sont créées avec l'option de niveau d'accès Autoriser l'accès complet à toutes les API Cloud ou que leur niveau d'accès correspond à l'une des options suivantes :

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  2. Installez l'extension stackdriver_debugger (si vous utilisez des conteneurs, installez l'image) à partir de PECL :

    pecl install stackdriver_debugger-alpha
    
  3. Ajoutez le package Google Cloud Debugger PHP au fichier composer.json :

    composer require google/cloud-debugger
    
  4. Configurez un daemon pour exécuter le processus daemon Debugger :

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

    Ajoutez le code suivant à l'application dans les premières sections de la requête :

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

Le débogueur est maintenant prêt à être utilisé avec l'application.

Environnement local et autre

  1. Installez l'extension stackdriver_debugger à partir de PECL :

    pecl install stackdriver_debugger-alpha
    
  2. Ajoutez le package Google Cloud Debugger PHP au fichier composer.json :

    composer require google/cloud-debugger
    
  3. Exécutez le processus daemon Cloud Debugger :

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

    Ajoutez le code suivant à l'application dans les premières sections de la requête :

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

Le débogueur est maintenant prêt à être utilisé avec l'application.

La page "Débogage" de Cloud Console peut afficher les fichiers source locaux, sans les importer, pour les développements en local. Consultez la page Sélectionner manuellement le code source pour en savoir plus.