PhpStorm 2025.3 ヘルプ

デバッグ

このページを使用して、Xdebug と Zend デバッガーの動作を設定します。

項目

説明

事前構成

この領域には、デバッガーのインストール、デバッガーのクッキーを制御してデバッグセッションを開始 / 停止するを実行するブックマークレットの生成、およびゼロコンフィギュレーションデバッグの起動に関する簡単なガイドラインが示されています。

外部接続

この領域で、PhpStorm がホストから受信した接続、デプロイサーバー構成として登録されていないポートを介した接続をどのように処理するかを指定します。

  • 未登録のサーバー構成による外部接続を無視する : デプロイサーバー構成として登録されていないホストおよびポートから受信した接続を PhpStorm が無視するには、このチェックボックスを選択します。このチェックボックスが選択されている場合、PhpStorm はデプロイサーバー構成を自動的に作成しようとしません。

  • PHP スクリプトの最初の行で中断する : このチェックボックスを選択すると、デバッガーと PhpStorm の間の接続が確立されるとすぐにデバッガーが停止します (最初のブレークポイントに到達するまで自動的に実行されるのではなく)。または、メインメニューから実行 | PHP スクリプトの最初の行で中断するオプションをオンにします。

  • 最大同時接続数 : このスピンボックスを使用して、同時に処理できる外部接続の数を制限します。

Xdebug

この領域のコントロールを使用して、Xdebug ツールを使用してデバッグを設定します。

  • デバッグポート : このフィールドで、PhpStorm と Xdebug エンジンが通信するためのポートを指定します。

    これは、php.ini ファイルで指定されているものと同じポート番号である必要があります。

    xdebug.client_port="<the port (9003 by default) to which Xdebug connects>"
    xdebug.remote_port="<the port (9000 by default) to which Xdebug connects>"

    デフォルトでは、Xdebug2 はポート 9000 でリッスンします。Xdebug 3(英語) の場合、デフォルトのポートが 9000 から 9003 に変更されました。複数のポートをコンマで区切って指定できます。デフォルトでは、デバッグポート値は 9003,9000 に設定されており、PhpStorm が両方のポートで同時にリッスンします。

  • 外部接続を受け入れ可能 : このチェックボックスを選択すると、PhpStorm がデバッグポートフィールドで指定されたポートを介して Xdebug エンジンからの受信接続を受け付けるようになります。

  • 現在の行で使用できない場合はブレークポイントを解決する (Xdebug 2.8+) : 選択すると、Xdebug ブレークポイント解決メカニズムのサポートが PhpStorm で有効になります。このメカニズムで、デバッガーは、PHP が現在の行の内部実行可能バイトコードを生成できるかどうかを評価します。ブレークポイントが参照する行にそのようなコードがない場合、対応するブレークポイントにヒットできません。Xdebug は、後続の最大 5 行までスキャンし、実行可能コードが配置されている行で停止し、ブレークポイントの定義をこの行に更新します。

  • パスマッピングが指定されていないときに最初の行で強制的にブレークする : サーバーページのプロジェクト内のどのファイルにもマップされていないファイルに到達して開くとすぐにデバッガーを停止するには、このチェックボックスを選択します。デバッガーはこのファイルの最初の行で停止し、変数の調査 / 更新は次のエラーメッセージを表示します: サーバー上のファイルのローカルコピーを見つけることができません <サーバー上のファイルへのパス> およびリンククリックしてマッピングを設定します。リンクをクリックしてパスマッピングの問題を解決するダイアログを開き、問題のファイルをそのローカルコピーにマップします。

    このチェックボックスをオフにすると、マップされていないファイルに到達して開いてもデバッガーは停止せず、ファイルは処理されるだけで、エラーメッセージは表示されません。

  • ソースと異なる場合は、ブレークポイントを解決された位置に移動する : このチェックボックスを選択すると、ブレークポイントの解決後に Xdebug が実際に停止する行へのブレークポイント位置の自動調整が有効になります。

    この機能は、現在の行で使用できない場合はブレークポイントを解決する (Xdebug 2.8+) チェックボックスが有効になっている場合にのみ機能することに注意してください。

  • スクリプトがプロジェクト外にあるときに最初の行で強制的にブレークする : このチェックボックスを選択すると、現在のプロジェクトの外部にあるファイルに到達して開くとすぐに、デバッガーが最初の行で停止します。このチェックボックスをオフにすると、デバッガーは現在のプロジェクトの外部でファイルを開いたときに続行します。

  • 戻り値のデバッグを有効にする (Xdebug 3.2+) : このチェックボックスを選択すると、中間変数に保存せずにすぐに値を返す関数の戻り値のインスペクションに追加のデバッグステップが追加されます。

Zend デバッガー

この領域のコントロールを使用して、Zend デバッガーツールを使用してデバッグを設定します。

  • デバッグポート : このフィールドでは、PhpStorm と Zend デバッガーエンジンが通信するポートを指定します。php.ini ファイルで指定されたトンネル内のポート番号を zend_debugger.tunnel_min_port および zend_debugger.tunnel_max_port まで入力します。詳細については、Zend デバッガー - 構成ディレクティブ(英語)を参照してください。

  • 外部接続を受け入れ可能 : このチェックボックスを選択すると、デバッグポートフィールドで指定されたポートを介して Zend デバッガーエンジンからの受信接続を PhpStorm が受け入れることができるようになります。

  • ブロードキャストポートの設定 : このフィールドでは、デバッガー設定がブラウザーのデバッグツールバーに渡されるポートを指定します。

  • 自動検出 IDE IP : このチェックボックスが選択されている場合、PhpStorm は、debug_host パラメーターを通じて Zend デバッガーに送信されるすべてのホスト IP アドレスを検出します。検出されたすべての IP アドレスが右側のフィールドにリストされます。IP アドレスの自動検出は、VagrantVirtualBox、またはその他の仮想化ツールを使用する場合に役立ちます。

    チェックボックスをオフにしてホスト IP アドレスの自動検出をブロックし、必要なアドレスをフィールドに明示的に指定します。

  • Z-Ray システム要求を無視する : このチェックボックスを選択して、PhpStorm デバッガーを頻繁に呼び出して迷惑をかける場合、Z-Ray システム(英語)からの要求をブロックします。

評価

  • デバッグコンソールで配列とオブジェクトの子を表示する : このチェックボックスを選択すると、配列とオブジェクトの出力がコンソールペインに表示されます。チェックボックスをオフにすると、出力は表示されません。

  • 値ヒントおよび監視フレームのセーフ評価モード :

    • このチェックボックスをオンにすると、PhpStorm は評価対象の式またはコードフラグメントに未定義の要素が含まれていないことを確認し、検出された不一致をユーザーに通知します。

    • チェックボックスをオフにすると、評価中に PhpStorm が未定義の要素に遭遇した場合に例外が表示されます。

    詳細は、式の評価を参照してください。

  • 評価コンテキストから名前空間と「use」ステートメントをインポートする : このチェックボックスが選択されている場合、デバッグセッション中に PhpStorm は現在の名前空間と実行ポイントでインポートされたすべての名前空間を認識します。この情報は、ウォッチ式および式の評価の計算と表示に使用され、PhpStorm デバッグ評価が PHP コード実行の実際の結果と一致するようにします。

    デフォルトでは、チェックボックスが選択されています。

    次のコードを実行した結果は true です(またはブラウザーで 1 が表示されます)。

    namespace Too\Car; class Car{} $my_car = new Car(); echo $my_car instanceof Car;

    名前空間をインポートしてステートメントを使用する ... チェックボックスが選択されている場合、$my_car instanceof Car 式と $my_car instanceof Car ウォッチを評価すると、次の結果も表示されます。

    ps_debug_import_namespace_on.png

    ただし、チェックボックスをオフにすると、ウォッチ式式の評価はグローバルコンテキストで実行されます。つまり、$my_car instanceof Car の代わりに、完全修飾クラス名 $my_car instanceof \Too\Car\Car を使用する必要があります。

  • 'toString' オブジェクトビューを有効にする : このチェックボックスをオンにすると、変数タブの出力で、__toString() メソッドを含むクラスのオブジェクトにレンダリングされた文字列表現が追加されます。

    Enable toString() object view

    Object of class {className} could not be converted to string (xdebug://debug-eval) エラーが発生した場合は、チェックボックスの選択を解除します。

  • クラスおよびメンバー参照の「... 移動」リンクを有効にする : このチェックボックスを選択すると、変数タブの呼び出し要素からソースコード内のコールバック関数宣言へのリンクが表示されます。

拡張設定

  • デプロイ構成からパスのマッピングを検出する :

    • このチェックボックスをオンにすると、PhpStorm はリモート環境のデバッグ用のパスマッピングサーバーアクセス構成デプロイ構成)から取得しようとします。

    • チェックボックスをオフにすると、手動でパスマッピングを指定する必要があります。

    詳細については、デバッグエンジンの構成を検証するおよびリモート PHP インタープリターの構成を参照してください。

  • デバッグセッションが一時停止せずに完了した場合に通知する : このチェックボックスを選択すると、ゼロコンフィギュレーションデバッグ中にブレークポイントにヒットしなかったときに PhpStorm が通知を表示します。これは、パスマッピングが構成されていないか、誤って構成されている場合、またはブレークポイントを設定していない場合に発生する可能性があります。後者の場合、次のいずれかを実行できます。

    • 目的の実行可能コード行のガターをクリックしてブレークポイントを設定します。詳細については、ブレークポイントを参照してください。

    • 設定ダイアログ (Ctrl+Alt+S) で PHP | デバッグに移動し、外部接続領域で PHP スクリプトの最初の行で中断するチェックボックスを選択します。

    • メインメニューから実行 | PHP スクリプトの最初の行で中断するオプションを有効にします。

    チェックボックスがオフの場合、デバッグセッションは確立されず、PHP スクリプトは中断されることなく実行されます。

  • コマンドラインから必要な構成オプションを渡す (デバッグ拡張を手動で使用可能にする必要があります) : このチェックボックスを選択すると、デバッガー設定オプションがコマンドラインを介して渡されます。

  • ブレークポイントが別の行に解決されたかどうかを通知する (Xdebug 2.8+) : 選択すると、PhpStorm はブレークポイントが解決されたときに通知を表示します。これを機能させるには、Xdebug ブレークポイント解決を有効にする必要があることに注意してください。

2025 年 1 月 24 日

関連ページ:

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

デバッグを開始する前に、Web アプリケーションまたは PHP CLI スクリプトが実行されるマシンにデバッグエンジンがインストールされ、適切に構成されていることを確認してください。PhpStorm は、最も人気のある 2 つのツール、Xdebug と Zend デバッガーによるデバッグをサポートしています。これらのツールは、互いにブロックし合うため、同時に使用することはできません。この問題を回避するには、Xdebug を構成するおよび Zend デバッガーの構成に従って、関連する PHP インタープ...

ゼロコンフィギュレーションデバッグ

ゼロコンフィギュレーションデバッグの場合、デバッグ構成を作成する必要はありません。代わりに、PHP アプリケーションの開始ページをブラウザーで手動で開き、ブラウザーからデバッグエンジンをアクティブにし、PhpStorm は受信デバッガー接続を待機します。デバッグセッションを開始する:PhpStorm は、最も人気のある 2 つのツール、Xdebug と Zend デバッガーによるデバッグをサポートしています。これらのツールは、互いにブロックし合うため、同時に使用することはできません。この問題を回避...

サーバー

このページでは、デバッグエンジンがローカルサーバーおよびリモート Web サーバーと対話するための HTTP アクセスを構成し、サーバー上のファイルと PhpStorm プロジェクト内のローカルコピー間の対応を設定します。デバッグサーバー構成の設定は、PHP Web ページまたは PHP リモートデバッグタイプの実行 / デバッグ構成を使用してデバッグする場合、およびゼロ構成デバッグセッション中に使用されます。ツールバーと一般的なオプション:ツールバーのボタンを使用して、構成のリストを管理する...

ブレークポイント

ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、たとえば、特定のコード行に到達したときにプログラムを一時停止するなどの単純なものから、追加の条件をチェックしたり、ログに書き込んだりするなどのより複雑なロジックを含むものまであります。ブレークポイントは、一度設定すると、一時的なブレークポイントを除き、明示的に削除するまでプロジェクト内に残ります。ブレークポイントの種類:PhpSto

中断されたプログラムを調べる

デバッガーセッションが開始されると、デバッグツールウィンドウが表示され、次のいずれかが発生するまでプログラムが正常に実行されます。ブレークポイントがヒットしました、プログラムを手動で一時停止して再開する、その後、プログラムは中断され、現在の状態を調べたり、実行を制御したり、実行時にさまざまなシナリオをテストしたりできます。フレームを調べる:プログラムの状態はフレームで表されます。プログラムが一時停止すると、現在のフレームスタックがデバッグツールウィンドウのフレームタブに表示されます。フレームは

デバッグエンジンの構成を検証する

PhpStorm は、ローカルまたはリモート Web サーバー上の Xdebug の構成を検証し、不足している設定や他の設定と矛盾している設定を検出し、矛盾点を説明して修正を提案します。ダイアログには、検証の実行方法と場所に応じていくつかのオプションが用意されています。出力 phpinfo()。PhpStorm は、CLI コマンドまたはからレンダリングされた Web ページから手動でコピーして貼り付けた出力を解析します。ローカル Web サーバーまたは共有フォルダー。PhpStorm は、ローカル...