Cloud Debugger für PHP einrichten

Übersicht

Auf dieser Seite wird gezeigt, wie Sie Ihre Umgebung und Ihre PHP-Anwendung für die Verwendung von Cloud Debugger konfigurieren. In einigen Umgebungen müssen Sie, damit der Cloud Debugger-Agent Daten senden kann, den Zugriffsbereich explizit angeben. Es wird empfohlen, den größtmöglichen Zugriffsbereich festzulegen und anschließend den Zugriff mit der Identitäts- und Zugriffsverwaltung einzuschränken. Geben Sie den Zugriffsbereich entsprechend dieser Best Practice für alle Cloud APIs mit der Option cloud-platform an.

Sprachversionen und Computing-Umgebungen

Cloud Debugger ist für PHP ab Version 7.0 in den folgenden Rechenumgebungen verfügbar:

App Engine-Standardumgebung Flexible App Engine-Umgebung Compute Engine Google Kubernetes Engine Cloud Run Cloud Run for Anthos auf Google Cloud Andernorts ausgeführte VMs und Container Cloud Functions

Cloud Debugger einrichten

Führen Sie die folgenden Aufgaben aus, um Cloud Debugger einzurichten:

  1. Prüfen Sie, ob die Cloud Debugger API für Ihr Projekt aktiviert ist.

  2. Installieren und konfigurieren Sie den Debugger in der von Ihnen verwendeten Rechenumgebung.

  3. Wählen Sie den Quellcode aus.

Prüfen, ob die Cloud Debugger API aktiviert ist

Wenn Sie Cloud Debugger verwenden möchten, muss die Cloud Debugger API aktiviert sein. Cloud Debugger ist für die meisten Projekte standardmäßig aktiviert.
Cloud Debugger API aktivieren

Flexible App Engine-Umgebung

  1. Installieren Sie die Erweiterung stackdriver_debugger von PECL:

    pecl install stackdriver_debugger-alpha
    

    Wenn Ihre Datei php.ini nach dem Ausführen dieses Schritts die Zeile extension=stackdriver_debugger.so nicht enthält, fügen Sie sie manuell hinzu.

  2. Fügen Sie Ihrer Datei composer.json das Google Cloud PHP Debugger-Paket hinzu:

    composer require google/cloud-debugger
    
  3. Fügen Sie die PHP-Erweiterung für Cloud Debugger über Ihre Datei composer.json hinzu:

    composer require ext-stackdriver_debugger:*
    
  4. Legen Sie enable_stackdriver_integrations in Ihrer app.yaml- Datei fest:

    runtime_config:
      enable_stackdriver_integration: true
    
  5. Aktivieren Sie den Agent.

    Fügen Sie Ihrer App in der Anfrage so früh wie möglich folgenden Code hinzu:

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

Der Debugger ist jetzt bereit für die Verwendung mit Ihrer Anwendung.

Google Kubernetes Engine

GCLOUD

Mit den folgenden Schritten aktivieren Sie Debugger mit gcloud:

  1. Erstellen Sie Ihren Cluster mit einem der folgenden Zugriffsbereiche:

    • https://www.googleapis.com/auth/cloud-platform gewährt Ihrem Cluster Zugriff auf alle Google Cloud APIs.

    • https://www.googleapis.com/auth/cloud_debugger gewährt Ihrem Cluster nur Zugriff auf die Debugger API. Verwenden Sie diesen Zugriffsbereich, um die Sicherheit Ihres Clusters zu härten.

    gcloud container clusters create example-cluster-name \
           --scopes=https://www.googleapis.com/auth/cloud_debugger
    
  2. Installieren Sie die PHP-Erweiterung für Cloud Debugger in Ihrem Container. Wenn Sie PECL installiert haben, kann dies erfolgen, indem Sie Ihrem Dockerfile die folgende Zeile hinzufügen:

    RUN pecl install stackdriver_debugger_alpha
    
  3. Fügen Sie Ihrer Anwendung das Debugger-Paket hinzu, indem Sie in Ihrer Anwendung den folgenden Befehl ausführen:

    composer require google/cloud-debugger
    
  4. Fügen Sie Ihrem Dockerfile die folgende Zeile hinzu, um einen Daemon zur Ausführung des Debugger-Daemon-Prozesses zu konfigurieren:

    RUN php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  5. Fügen Sie Ihrer Anwendung in der Anfrage so früh wie möglich die folgenden Codezeilen hinzu, um den Debugger-Agent zu aktivieren:

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

Der Debugger ist jetzt einsatzbereit, wenn Sie Ihre containerisierte Anwendung bereitstellen.

KONSOLE

Führen Sie die folgenden Schritte aus, um Debugger mithilfe der Console zu aktivieren:

  1. Klicken Sie nach der Auswahl des Clustertyps im Bereich Node pools (Knotenpools) auf More options (Weitere Optionen):

    Das Feld

  2. Wählen Sie im Bereich Sicherheit eine der folgenden Optionen aus:

    • Uneingeschränkten Zugriff auf alle Cloud APIs zulassen.

    • Zugriff für jede API festlegen. Wählen Sie anschließend Aktiviert für Cloud Debugger aus.

Compute Engine

  1. Achten Sie darauf, dass Ihre Compute Engine-VM-Instanzen mit der Zugriffsbereichsoption Vollen Zugriff auf alle Cloud-APIs zulassen eingerichtet sind oder einen der folgenden Zugriffsbereiche haben:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  2. Installieren Sie die Erweiterung stackdriver_debugger von PECL (wenn Sie Container verwenden, installieren Sie sie im Image):

    pecl install stackdriver_debugger-alpha
    
  3. Fügen Sie Ihrer Datei composer.json das Google Cloud PHP Debugger-Paket hinzu:

    composer require google/cloud-debugger
    
  4. Konfigurieren Sie einen Daemon, um den Debugger-Daemon-Prozess auszuführen:

    php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  5. Aktivieren Sie den Agent.

    Fügen Sie Ihrer App in der Anfrage so früh wie möglich folgenden Code hinzu:

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

Der Debugger ist jetzt bereit für die Verwendung mit Ihrer App.

Lokal und an anderer Stelle

  1. Installieren Sie die Erweiterung stackdriver_debugger von PECL:

    pecl install stackdriver_debugger-alpha
    
  2. Fügen Sie Ihrer Datei composer.json das Google Cloud PHP Debugger-Paket hinzu:

    composer require google/cloud-debugger
    
  3. Führen Sie den Daemon-Prozess von Cloud Debugger aus:

    php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  4. Aktivieren Sie den Agent.

    Fügen Sie Ihrer App in der Anfrage so früh wie möglich folgenden Code hinzu:

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

Der Debugger ist jetzt bereit für die Verwendung mit Ihrer App.

Auf der Seite "Debugging" der Cloud Console können die lokalen Quelldateien ohne Hochladen für die lokale Entwicklung angezeigt werden. Weitere Informationen finden Sie unter Quellcode manuell auswählen.