PhpStorm を使用したデバッグ
クイックスタート
以下は、ローカルまたはリモート Web サーバー上で実行される PHP アプリケーションのデバッグのために、PhpStorm と Xdebug 3 を利用するためのクイックスタートガイドです。

PHP テストのデバッグや SSH 経由のリモートデバッグなどの他のデバッグシナリオについては、 デバッグシナリオ を参照してください。
1。 Xdebug をインストールする
Xdebug デバッグエンジンは PHP の拡張機能であるため、アプリケーションが実行されるローカルまたはリモート Web サーバー上の PHP にインストールされます。 Xdebug をインストールするには、次の手順を実行します。
PHP バージョンと互換性のある Xdebug 拡張(英語)をダウンロードし、 Xdebug インストールガイド(英語)の説明に従ってインストールします。
事前構成された AMP (Apache、MySQL、PHP) パッケージを使用している場合は、Xdebug 拡張機能がすでにインストールされている可能性があります。 パッケージに固有の手順を参照してください。
関連する php.ini ファイルを編集して、Xdebug を PHP エンジンに統合します。
Xdebug をブロックする Zend デバッガーおよび Zend Optimizer ツールを無効にします。 これを行うには、 php.ini ファイル内の次の行を削除するかコメントアウトします。
zend_extension=<path_to_zend_debugger> zend_extension=<path_to_zend_optimizer>Xdebug を有効にします。 これを行うには、 php.ini ファイルで
[xdebug]セクションを見つけるか作成し、次のように更新します。[xdebug] zend_extension=xdebug xdebug.mode=debug xdebug.client_host=localhost xdebug.client_port=9003zend_extension: Xdebug デバッグエンジンを使用することを示す設定。xdebugに設定するか、/usr/lib/php/20190902/xdebug.soなどのxdebug.soファイルへのフルパスを使用します。xdebug.mode: 有効にする Xdebug 機能を制御する設定。 デバッグの場合はdebugに設定します。xdebug.client_host:PhpStorm が実行されていて、Xdebug からの接続をリッスンしている IP アドレスまたはホスト名。 例えば、Xdebug と PhpStorm が同じマシンで実行されている場合は、localhostまたは127.0.0.1となります。 Xdebug は単一の IP アドレスへの接続のみをサポートしますが、DBGp プロキシを利用することで、 複数ユーザー環境での PHP アプリケーションのデバッグが可能です。xdebug.client_port:PhpStorm が実行されているホストで Xdebug が接続を試みるポート。 デフォルトのポートは9003です。
次のいずれかを実行して、Xdebug のインストールを確認します。
コマンドラインで次のコマンドを実行します。
php --version出力は、インストールされた拡張の中で Xdebug をリストするはずです:

次のコードを含む php ファイルを作成します。
<?php phpinfo();ブラウザーでファイルを開きます。
phpinfo出力には、Xdebug セクションが含まれている必要があります。
PhpStorm(メインメニューの )を使用して、Web サーバー上の Xdebug のインストールと構成を検証し、不一致がある場合は修正するための提案を得られます。 詳細については、 デバッグエンジンの構成を検証する を参照してください。

2。 Web ブラウザーにデバッグ拡張機能を追加する
デバッガーをアクティブ化するように Web サーバーに指示する最も簡単な方法は、ブラウザー拡張機能を使用することです。
ブラウザーに適したブラウザー拡張機能 (たとえば、Chrome の場合は JetBrains による Xdebug ヘルパー (英語)) を選択してインストールします。
その他のオプションと詳細については、 ブラウザーのデバッグ拡張機能 を参照してください。
ブラウザーでアプリケーション URL を開き、ブラウザー拡張機能を有効にします。

3。 受信接続をリッスンするように PhpStorm を構成する
の デバッグポート」}]} Debug port 設定が デバッガー側で設定されたポートに対応していることを確認します。 デフォルト値は
9003です。さらに、 Xdebug の動作の定義に従い、PhpStorm で他の Xdebug 設定をカスタマイズすることもできます。
PhpStorm ツールバーで、
を切り替えて受信 PHP デバッグ接続のリッスンを開始するか、メインメニューから を選択します。

4。 デバッグセッションを開始する
PhpStorm でアプリケーション開発プロジェクトを開き、コード内に ブレークポイントを設定します。 ブレークポイントは、 PHP 、 HTML形式 、 TWIG 、 BLADE 内の PHP コンテキストや他の種類のファイルに設定できます。
行ブレークポイントは、実行可能ファイルのコード行のガターをクリックして設定できます。

条件付きブレークポイントは、ループ内の特定のアイテムなど、指定した条件が満たされた場合にのみ有効になります。 条件を指定するには、行ブレークポイントを設定し、それを右クリックしてブレークポイント設定ダイアログを開きます。

例外ブレークポイントを使用すると、例外またはエラーがスローされたとき、または PHP の通知または警告が発行されたときに、デバッガーはアプリケーションコードの実行を一時停止します。 例外ブレークポイントを設定するには、 PHP 例外ブレークポイントを使用してデバッグする を参照してください。

または、PhpStorm との接続が確立されるとすぐにデバッガーを停止させるには、 を選択します(最初のブレークポイントに達するまで自動的に実行するのではなく)。
ブラウザーに戻り、アプリケーションページを再読み込みしてデバッグセッションを開始し、PhpStorm に戻ります。
PhpStorm が Xdebug から新たな受信接続を検出すると、すぐに Xdebug からの受信接続 ダイアログが表示されます。

Xdebug からの受信接続 ダイアログでパスマッピングを選択し、PhpStorm が Web サーバー上のリモートファイルをプロジェクトのローカルファイルにマップできるようにします。 デプロイ構成が定義されている場合、PhpStorm ではその構成ですでに設定されたパスに基づいてマッピングを構成できます。
5。 プログラムの状態を調べる
ブレークポイントに到達すると、デバッガーは一時停止されます。 これで、PhpStorm の デバッグツールウィンドウでアプリケーションを調査できます。

プログラムデータ(フレーム、変数など)の検査についてさらに詳しくは、 中断されたプログラムを調べる を参照してください。
プログラムの実行を継続し、再び中断されるとすぐにそのフレームを調べます。
プログラムの実行を手動で制御するには、 実行 メニューまたはツールバーボタンのコマンド(   F7、   Shift+F8、   F8 など)を使用してコードをステップ実行します。 詳細については、 プログラムのステップスルー を参照してください。
プログラムを自動的に次のブレークポイントまで実行させるには、 を選択するか F9 を押してセッションを再開します。
デバッグシナリオ
以下のトピックは、PhpStorm でデバッグシナリオを検討する際に役立ちます:
- ゼロ構成デバッグ
この クイックスタート ガイドで説明しているデバッグシナリオは、いわゆる ゼロ構成デバッグ手法を使用しており、PhpStorm で PHP アプリケーションの実行やテストを行う場合のような 実行/デバッグ構成の作成は不要です。
実行/デバッグ構成を使用してデバッグセッションを実行したい場合は、 PHP Web ページのデバッグ構成でデバッグする を参照してください。
- PHP CLI スクリプトのデバッグ
Web サーバー上でアプリケーション全体を実行・デバッグする以外にも、PhpStorm で特定の PHP スクリプトをデバッグしたり、 デバッグエンジンを接続してPHPUnit や Behat、その他のテストを実行したりすることも可能です。
この場合、デバッグエンジンは PhpStorm で設定された ローカルまたは リモートPHP インタープリターとあわせてセットアップされます。
詳しくは、 PHP CLI スクリプトをデバッグする を参照してください。
- PHP フレームワーク CLI コマンドのデバッグ
- 同時デバッグセッション
複数層の Web アプリケーションを構築する場合、フロントエンド PHP コードからバックエンド PHP コードを呼び出すことができます。 同時デバッグセッション では、フロントエンドコードからバックエンドコードにステップインし、同時にデバッグするいくつかの方法について説明します。
- Xdebug プロキシを介したマルチユーザーデバッグ
Xdebug は、PhpStorm IDE が実行されている単一の IP アドレスへの接続のみをサポートします。 マルチユーザー環境(英語)で PHP アプリケーションをデバッグするには、 Xdebug プロキシを介したマルチユーザーデバッグ を参照してください。
- SSH トンネル経由のリモートデバッグ
SSH トンネル経由のリモートデバッグ では、Xdebug と PhpStorm を異なるマシンで実行しており、両マシン間で直接接続できない場合に、SSH トンネルを利用して安全な接続を確立する方法を説明します。
- トラブルシューティング
一般的な構成の問題の説明とそのトラブルシューティング方法については、 一般的な PHP デバッグの問題のトラブルシューティング を参照してください。