PHP 用 Cloud デバッガの設定

概要

このページでは、Cloud デバッガを使用できるように、環境と PHP アプリケーションを構成する方法について説明します。環境によっては、Cloud デバッガ エージェントがデータを送信できるようにするためにアクセス スコープを明示的に指定する必要があります。できるだけ幅広いアクセススコープを設定し、Identity and Access Managementを使用してアクセスを制限することをおすすめします。このおすすめの方法に沿って、オプション cloud-platform を使用して、すべての Cloud API がアクセス スコープになるように設定します。

言語バージョンとコンピューティング環境

Cloud デバッガは、次のコンピューティング環境上の PHP バージョン 7.0 以降で使用できます。

App Engine スタンダード環境 App Engine フレキシブル環境 Compute Engine Google Kubernetes Engine Cloud Run Cloud Run for Anthos on Google Cloud その他の場所で実行されている VM とコンテナ Cloud Functions

Cloud デバッガの設定

Cloud デバッガを設定するには、次のタスクを実行します。

  1. プロジェクトで Cloud デバッガ API が有効になっていることを確認します。

  2. 使用しているコンピューティング環境にデバッガをインストールして構成します。

  3. ソースコードを選択します。

Cloud デバッガ API が有効になっていることを確認する

Cloud デバッガを使用する前に、Cloud Debugger API が有効になっていることを確認します。Cloud デバッガは、ほとんどのプロジェクトでデフォルトで有効になっています。
Cloud デバッガ API を有効にする

App Engine フレキシブル環境

  1. PECL から stackdriver_debugger 拡張機能をインストールします。

    pecl install stackdriver_debugger-alpha
    

    この手順を行った後に php.ini ファイルに extension=stackdriver_debugger.so が含まれていない場合は、手動で追加してください。

  2. Google Cloud PHP Debugger パッケージを composer.json ファイルに追加します。

    composer require google/cloud-debugger
    
  3. composer.json ファイルを使用して、Cloud デバッガ PHP 拡張機能を追加します。

    composer require ext-stackdriver_debugger:*
    
  4. app.yaml ファイルで enable_stackdriver_integrations を設定します。

    runtime_config:
      enable_stackdriver_integration: true
    
  5. エージェントを有効にします。

    リクエストのできるだけ早い段階で次のコードをアプリに追加します。

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

これで、アプリでデバッガを使用できるようになりました。

Google Kubernetes Engine

gcloud

gcloud を使用して Debugger を有効にする方法は次のとおりです。

  1. 次のいずれかのアクセス スコープでクラスタを作成します。

    • https://www.googleapis.com/auth/cloud-platform は、すべての Google Cloud API へのアクセス権をクラスタに付与します。

    • https://www.googleapis.com/auth/cloud_debugger は、Debugger API のみへのアクセス権をクラスタに付与します。このアクセス スコープを使用して、クラスタのセキュリティを強化します。

    gcloud container clusters create example-cluster-name \
           --scopes=https://www.googleapis.com/auth/cloud_debugger
    
  2. Cloud デバッガ PHP 拡張機能をコンテナにインストールします。PECL がインストール済みの場合、Dockerfile に次の行を追加すれば拡張機能もインストールできます。

    RUN pecl install stackdriver_debugger_alpha
    
  3. アプリケーションで次のコマンドを実行して、Debugger パッケージをアプリケーションに追加します。

    composer require google/cloud-debugger
    
  4. 次の行を Dockerfile に追加してデーモンを構成し、Debugger デーモン プロセスを実行します。

    RUN php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  5. リクエストのできるだけ早い段階で次のコードをアプリに追加して、Debugger エージェントを有効にします。

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

これで、コンテナ化されたアプリをデプロイするときにデバッガを使用できるようになりました。

コンソール

コンソールを使用して Debugger を有効にする方法は次のとおりです。

  1. クラスタタイプを選択したら、[ノードプール] ペインで [その他の設定項目] をクリックします。

    [その他の設定項目] ボタンの上の赤い長方形を示すノードプールのフィールド。

  2. [セキュリティ] ペインから次のいずれかを選択します。

    • [すべての Cloud API に完全アクセス権を許可]

    • [各 API にアクセス権を設定]。次に、Cloud Debugger の [有効] を選択します。

Compute Engine

  1. Compute Engine インスタンスが [すべての Cloud API に完全アクセス権を許可] アクセス スコープ オプションで作成されていることを確認するか、次のいずれかのアクセス スコープを使用します。

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  2. PECL から stackdriver_debugger 拡張機能をインストールします(コンテナを使用している場合には、イメージにインストールします)。

    pecl install stackdriver_debugger-alpha
    
  3. Google Cloud PHP Debugger パッケージを composer.json ファイルに追加します。

    composer require google/cloud-debugger
    
  4. Debugger デーモン プロセスを実行するようにデーモンを構成します。

    php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  5. エージェントを有効にします。

    リクエストのできるだけ早い段階で次のコードをアプリに追加します。

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

これで、アプリでデバッガを使用できるようになりました。

ローカルと他の場所

  1. PECL から stackdriver_debugger 拡張機能をインストールします。

    pecl install stackdriver_debugger-alpha
    
  2. Google Cloud PHP Debugger パッケージを composer.json ファイルに追加します。

    composer require google/cloud-debugger
    
  3. Cloud デバッガ デーモン プロセスを実行します。

    php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  4. エージェントを有効にします。

    リクエストのできるだけ早い段階で次のコードをアプリに追加します。

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

これで、アプリでデバッガを使用できるようになりました。

Cloud Console の [デバッグ] ページでは、ローカル開発向けに、ローカルにあるソースファイルをアップロードせずに表示できます。ソースコードを手動で選択するをご覧ください。