PhpStorm 2026.1 Help

PhpStorm を使用したデバッグ

クイックスタート

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

Xdebug and PhpStorm quick start

PHP テストのデバッグや SSH 経由のリモートデバッグなどの他のデバッグシナリオについては、 デバッグシナリオ を参照してください。

1。 Xdebug をインストールする

Xdebug デバッグエンジンは PHP の拡張機能であるため、アプリケーションが実行されるローカルまたはリモート Web サーバー上の PHP にインストールされます。 Xdebug をインストールするには、次の手順を実行します。

  1. PHP バージョンと互換性のある Xdebug 拡張(英語)をダウンロードし、 Xdebug インストールガイド(英語)の説明に従ってインストールします。

    事前構成された AMP (Apache、MySQL、PHP) パッケージを使用している場合は、Xdebug 拡張機能がすでにインストールされている可能性があります。 パッケージに固有の手順を参照してください。

  2. 関連する php.ini ファイルを編集して、Xdebug を PHP エンジンに統合します。

    1. Xdebug をブロックする Zend デバッガーおよび Zend Optimizer ツールを無効にします。 これを行うには、 php.ini ファイル内の次の行を削除するかコメントアウトします。

      zend_extension=<path_to_zend_debugger> zend_extension=<path_to_zend_optimizer>
    2. Xdebug を有効にします。 これを行うには、 php.ini ファイルで [xdebug] セクションを見つけるか作成し、次のように更新します。

      [xdebug] zend_extension=xdebug xdebug.mode=debug xdebug.client_host=localhost xdebug.client_port=9003
      • zend_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 です。

  3. 次のいずれかを実行して、Xdebug のインストールを確認します。

    • コマンドラインで次のコマンドを実行します。

      php --version

      出力は、インストールされた拡張の中で Xdebug をリストするはずです:

      Xdebug 拡張機能がインストールされている
    • 次のコードを含む php ファイルを作成します。

      <?php phpinfo();

      ブラウザーでファイルを開きます。 phpinfo 出力には、Xdebug セクションが含まれている必要があります。

      Xdebug 3 のサポートが有効になりました
    • PhpStorm(メインメニューの 実行 | Web サーバーのデバッグ検証 )を使用して、Web サーバー上の Xdebug のインストールと構成を検証し、不一致がある場合は修正するための提案を得られます。 詳細については、 デバッグエンジンの構成を検証する を参照してください。

      Xdebug 設定チェック

2。 Web ブラウザーにデバッグ拡張機能を追加する

デバッガーをアクティブ化するように Web サーバーに指示する最も簡単な方法は、ブラウザー拡張機能を使用することです。

  1. ブラウザーに適したブラウザー拡張機能 (たとえば、Chrome の場合は JetBrains による Xdebug ヘルパー (英語)) を選択してインストールします。

    その他のオプションと詳細については、 ブラウザーのデバッグ拡張機能 を参照してください。

  2. ブラウザーでアプリケーション URL を開き、ブラウザー拡張機能を有効にします。

    Chrome の Xdebug ヘルパー

3。 受信接続をリッスンするように PhpStorm を構成する

  1. 設定 Ctrl+Alt+S | PHP | デバッグ | Xdebugデバッグポート」}]} Debug port 設定が デバッガー側で設定されたポートに対応していることを確認します。 デフォルト値は 9003 です。

    さらに、 Xdebug の動作の定義に従い、PhpStorm で他の Xdebug 設定をカスタマイズすることもできます。

  2. PhpStorm ツールバーで、 the Start Listening for PHP Debug Connections button を切り替えて受信 PHP デバッグ接続のリッスンを開始するか、メインメニューから 実行 | PHP デバッグ接続のリッスンを開始 を選択します。

    受信 Xdebug 接続のリッスンを開始する

4。 デバッグセッションを開始する

  1. PhpStorm でアプリケーション開発プロジェクトを開き、コード内に ブレークポイントを設定します。 ブレークポイントは、 PHP HTML​形式 TWIG BLADE 内の PHP コンテキストや他の種類のファイルに設定できます。

    • 行ブレークポイントは、実行可能ファイルのコード行のガターをクリックして設定できます。

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

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

      例外ブレークポイントにヒットする

    または、PhpStorm との接続が確立されるとすぐにデバッガーを停止させるには、 実行 | PHP スクリプトの最初の行で中断する を選択します(最初のブレークポイントに達するまで自動的に実行するのではなく)。

  2. ブラウザーに戻り、アプリケーションページを再読み込みしてデバッグセッションを開始し、PhpStorm に戻ります。

    PhpStorm が Xdebug から新たな受信接続を検出すると、すぐに Xdebug からの受信接続 ダイアログが表示されます。

    受信デバッガー接続 Xdebug

    Xdebug からの受信接続 ダイアログでパスマッピングを選択し、PhpStorm が Web サーバー上のリモートファイルをプロジェクトのローカルファイルにマップできるようにします。 デプロイ構成が定義されている場合、PhpStorm ではその構成ですでに設定されたパスに基づいてマッピングを構成できます。

5。 プログラムの状態を調べる

  1. ブレークポイントに到達すると、デバッガーは一時停止されます。 これで、PhpStorm の デバッグツールウィンドウでアプリケーションを調査できます。

    アプリケーションがブレークポイントで停止しました

    プログラムデータ(フレーム、変数など)の検査についてさらに詳しくは、 中断されたプログラムを調べる を参照してください。

  2. プログラムの実行を継続し、再び中断されるとすぐにそのフレームを調べます。

    • プログラムの実行を手動で制御するには、 実行 メニューまたはツールバーボタンのコマンド(ステップイン &#xa0; F7ステップアウト &#xa0; Shift+F8ステップオーバー &#xa0; 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 デバッグの問題のトラブルシューティング を参照してください。

2026 年 5 月 22 日