概要
このページでは、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 | その他の場所で実行されている VM とコンテナ | Cloud Functions |
---|---|---|---|---|---|---|---|
Cloud デバッガの設定
Cloud デバッガを設定するには、次のタスクを実行します。
プロジェクトで Cloud デバッガ API が有効になっていることを確認します。
使用しているコンピューティング環境にデバッガをインストールして構成します。
ソースコードを選択します。
Cloud デバッガ API が有効になっていることを確認する
Cloud デバッガを使用する前に、Cloud Debugger API が有効になっていることを確認します。Cloud デバッガは、ほとんどのプロジェクトでデフォルトで有効になっています。Cloud デバッガ API を有効にする
App Engine フレキシブル環境
PECL から
stackdriver_debugger
拡張機能をインストールします。pecl install stackdriver_debugger-alpha
この手順を行った後に
php.ini
ファイルにextension=stackdriver_debugger.so
が含まれていない場合は、手動で追加してください。Google Cloud PHP Debugger パッケージを
composer.json
ファイルに追加します。composer require google/cloud-debugger
composer.json
ファイルを使用して、Cloud デバッガ PHP 拡張機能を追加します。composer require ext-stackdriver_debugger:*
app.yaml
ファイルでenable_stackdriver_integrations
を設定します。runtime_config: enable_stackdriver_integration: true
エージェントを有効にします。
リクエストのできるだけ早い段階で次のコードをアプリに追加します。
use Google\Cloud\Debugger\Agent; $agent = new Agent(['sourceRoot' => realpath('/app')]);
これで、アプリでデバッガを使用できるようになりました。
Google Kubernetes Engine
gcloud
gcloud
を使用して Debugger を有効にする方法は次のとおりです。
次のいずれかのアクセス スコープでクラスタを作成します。
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
Cloud デバッガ PHP 拡張機能をコンテナにインストールします。PECL がインストール済みの場合、
Dockerfile
に次の行を追加すれば拡張機能もインストールできます。RUN pecl install stackdriver_debugger_alpha
アプリケーションで次のコマンドを実行して、Debugger パッケージをアプリケーションに追加します。
composer require google/cloud-debugger
次の行を
Dockerfile
に追加してデーモンを構成し、Debugger デーモン プロセスを実行します。RUN php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
リクエストのできるだけ早い段階で次のコードをアプリに追加して、Debugger エージェントを有効にします。
use Google\Cloud\Debugger\Agent; $agent = new Agent(['sourceRoot' => realpath('/[YOUR-APP-PATH]')]);
これで、コンテナ化されたアプリをデプロイするときにデバッガを使用できるようになりました。
コンソール
Google Cloud Console を使用してデバッガを有効にするには、次の手順を実行します。
[ノードプール] セクションで、[セキュリティ] を選択し、[各 API にアクセス権を設定] を選択します。
デバッガを有効にします。
省略可: [すべての Cloud APIs に完全アクセス権を許可] を選択します。
Compute Engine
Compute Engine インスタンスが [すべての Cloud API に完全アクセス権を許可] アクセス スコープ オプションで作成されていることを確認するか、次のいずれかのアクセス スコープを使用します。
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/cloud_debugger
PECL から
stackdriver_debugger
拡張機能をインストールします(コンテナを使用している場合には、イメージにインストールします)。pecl install stackdriver_debugger-alpha
Google Cloud PHP Debugger パッケージを
composer.json
ファイルに追加します。composer require google/cloud-debugger
Debugger デーモン プロセスを実行するようにデーモンを構成します。
php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
エージェントを有効にします。
リクエストのできるだけ早い段階で次のコードをアプリに追加します。
use Google\Cloud\Debugger\Agent; $agent = new Agent(['sourceRoot' => realpath('/[YOUR-APP-PATH]')]);
これで、アプリでデバッガを使用できるようになりました。
ローカルと他の場所
PECL から
stackdriver_debugger
拡張機能をインストールします。pecl install stackdriver_debugger-alpha
Google Cloud PHP Debugger パッケージを
composer.json
ファイルに追加します。composer require google/cloud-debugger
Cloud デバッガ デーモン プロセスを実行します。
php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
エージェントを有効にします。
リクエストのできるだけ早い段階で次のコードをアプリに追加します。
use Google\Cloud\Debugger\Agent; $agent = new Agent(['sourceRoot' => realpath('/[YOUR-APP-PATH]')]);
これで、アプリでデバッガを使用できるようになりました。
Google Cloud コンソールの [デバッグ] ページでは、ローカル開発向けに、ローカルにあるソースファイルをアップロードせずに表示できます。ソースコードを手動で選択するをご覧ください。