Xdebug プロキシを介したマルチユーザーデバッグ
デバッグセッションを開始すると、Xdebug 拡張機能は PhpStorm が実行されている IP アドレスに接続し、そのアドレスは xdebug.remote_host (Xdebug 2 の場合)または xdebug.client_host (Xdebug 3 の場合)の値として指定されます。 PhpStorm はこの接続を受け入れ、それを介して Xdebug と通信できます。 Xdebug は、単一の IP アドレスへの接続のみをサポートし、セキュリティ上の理由から、ブラウザーを実行している IP アドレスに自動的に接続し直すことはありません。 マルチユーザー環境(英語)で PHP アプリケーションをデバッグするために、Xdebug はいわゆる DBGp プロキシ(英語)を提供します。
プロキシを使用すると、PHP Xdebug 拡張機能は PhpStorm に直接接続するのではなく、DBGp プロキシサーバーに接続します。 その後、チーム内のすべての開発者がそのプロキシに接続します。 各開発者は、このプロキシを介して実行される個別のデバッグセッションを持ち、同じサーバー上で同じコードのマルチユーザーデバッグを行うことができます。

Xdebug プロキシ(DBGp)サーバーを介したマルチユーザーデバッグの構成
DBGp プロキシをダウンロードしてインストールする
デバッグセッションを開始できるようにするには、Web サーバー自体とすべての開発者マシンからアクセスできるサーバー上で DBGp プロキシを実行する必要があります。 Web サーバー、同じネットワーク内のマシン、SSH トンネル経由でアクセス可能なマシンにプロキシをインストールできます。
プラットフォーム用の dbgpProxy 実行可能ファイルを DBGp プロキシツールのダウンロードページ(英語)にダウンロードします。
Web サーバー、または Web サーバーとすべての開発者マシンの両方と通信できるマシンで DBGp プロキシを開始します。 DBGp プロキシ実行可能ファイルは、2 つの主要な引数を受け入れます。
-i: IDE(クライアント)接続をリッスンするホストとポート-s: デバッガーエンジン(サーバー)接続をリッスンするホストとポート
詳細は、 DBGp プロキシツールのドキュメント(英語)を参照してください。
次の例では、ループバックアドレス 127.0.0.1 とポート 9001 でデバッガー接続をリッスンするプロキシを起動し、マシンの IP アドレスとポート 9000 で開発者をリッスンします。
dbgpProxy.exe -i 192.168.1.11:9000 -s 127.0.0.1:9001./dbgpProxy-macos -i 192.168.1.11:9000 -s 127.0.0.1:9001./dbgpProxy -i 192.168.1.11:9000 -s 127.0.0.1:9001DBGp プロキシは、起動時にこれらの設定を確認します:

Xdebug が Web サーバーにインストールされ、構成されていることを確認する
エディターでアクティブな php.ini ファイルを開きます:
設定 ダイアログ (Ctrl+Alt+S) で、 PHP をクリックします。
表示される PHP ページで、 CLI インタープリター フィールドの横にある
をクリックします。
開いている CLI インタープリター ダイアログで、 構成ファイル 読み取り専用フィールドにアクティブな php.ini ファイルへのパスが表示されます。 エディターで開く をクリックします。
少なくとも次の設定が指定されていることを確認してください。
[xdebug] zend_extension="<path to xdebug extension>" xdebug.mode=debug xdebug.client_host=127.0.0.1 xdebug.client_port="<the port (9003 by default) to which Xdebug connects>"[xdebug] zend_extension="<path to xdebug extension>" xdebug.remote_enable=1 xdebug.remote_host=dbgp_proxy_hostname_or_ip xdebug.remote_port="<the port (9000 by default) to which Xdebug connects>"
Xdebug の構成の詳細については、「Xdebug を構成する 」を参照してください。
PhpStorm から DBGp プロキシサーバーへのアクセスを構成する
ブラウザーでデバッグセッションを開始する
使用している ブラウザーデバッグ拡張機能が、登録済みの IDE キーに設定されていることを確認してください:

PhpStorm で、以下のいずれかの方法で受信デバッグ接続のリッスンを有効化します:
ツールバー / ステータスバーの
をクリックします。
メインメニューで を選択します。
これにより、Web サーバーでデバッグセッションが開始されると PhpStorm が反応し、 デバッグツールウィンドウ が自動的に開きます。 デバッグセッションを開始する前に、 ブレークポイントが設定されているか、 設定 ダイアログ Ctrl+Alt+S の デバッグ ページで PHP スクリプトの最初の行で中断する。 オプションが有効になっていることを確認してください。
ブラウザーでページをリフレッシュしてデバッグセッションを開始します。

トラブルシューティング
リモートファイルパスがプロジェクト内のファイルパスにマップされていません
場合によってはデバッガーに接続できますが、リモートとプロジェクトファイル間のマッピングが定義されていないことを示すエラーメッセージが表示されます。 これは、PhpStorm がデバッグ中のファイルに対応するローカルファイルを判別できないことを意味します。

この問題は、 クリックしてパスマッピングを設定する をクリックして、必要なパスマッピングを提供することで解決できます。 さらに、 Web サーバーに接続する で説明されている手法を使用して、これらのマッピングを構成できます。
ターゲットマシンが積極的にそれを拒否したため、接続できませんでした
PhpStorm が DBGp プロキシに登録されており、 受信デバッガー接続をリッスンしていることを確認してください。
PhpStorm および デバッガーのブックマークレットまたはブラウザー拡張機能で 正しい IDE キーが設定されていることを確認してください。
ファイアウォールが DBGp プロキシへの接続をブロックしていますか? その場合は、PHP Xdebug 拡張機能および開発者のマシンが接続できるようにしてください。 http://canyouseeme.org や同様のサービスを利用して、開いている受信ポートを確認できます。
ファイアウォールが IDE への接続をブロックしていますか? DBGp プロキシマシンから PhpStorm へ接続できることを確認してください。 http://canyouseeme.org や同様のサービスを利用して、開いている受信ポートを確認できます。
DBGp プロキシアプリケーションが間違った IP アドレスにバインドします。 アドレスとして 0.0.0.0 を使用して実行すると、DBGp プロキシサーバー上の任意の IP アドレスにバインドされます。 例:
dbgpproxy -i 0.0.0.0:9001 -s 0.0.0.0:9000を実行します。
同じマシンに Xdebug と DBGp プロキシをインストールした状態で、PhpStorm でマルチユーザデバッグをテストする場合、検証すべき事項がいくつかあります:
PhpStorm は間違った IP アドレスにバインドします。 DBGp プロキシが PhpStorm も実行されているローカルマシンで動作している場合、IDE が間違ったネットワークサブネットを使用している可能性があります。 これを修正するには、メインメニューで を選択し、DBGp プロキシサーバーの IP アドレスを 0.0.0.0 に設定します。 次に、PhpStorm を DBGp プロキシに再登録してみてください。
ポートの競合が存在します。 ローカルマシンで DBGp をテストする場合、PhpStorm と DBGp の両方が同じポートにバインドしようとすることがあります。 DBGp を別のポートに設定するか、 設定 ダイアログ Ctrl+Alt+S の ページで PhpStorm の Xdebug ポートを変更して、これが発生しないことを確認してください。


