PhpStorm 2020.2 ヘルプ

デバッグ

このページは、PHP プラグインが有効になっている場合にのみ使用できます。PHP プラグインは PhpStorm にバンドルされており、デフォルトでアクティブになっています。プラグインが無効になっている場合は、プラグインの管理に従って、設定 / 環境設定 | プラグインページでプラグインを有効にします。

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

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

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

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

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

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

Xdebug

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

  • デバッグポート : このフィールドでは、PhpStorm と Xdebug エンジンが通信に使用するポートを指定します。これは、php.ini ファイルで指定されているのとまったく同じポート番号である必要があります。

    xdebug.remote_port = <port_number>
    デフォルトでは、Xdebug はポート 9000 をリッスンします。

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

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

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

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

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

Zend デバッガー

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

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

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

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

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

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

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

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

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

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

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

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

  • 名前空間をインポートし、評価コンテキストからステートメントを使用する : このチェックボックスを選択すると、デバッグセッション中に 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 を使用する必要があります。

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

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

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

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

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

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

    • 設定 / 環境設定ダイアログ Ctrl+Alt+S言語 & フレームワーク | PHP | デバッグに移動し、外部接続領域で PHP スクリプトの最初の行で中断するチェックボックスを選択します。

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

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

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

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

最終更新日 : 2020 年 9 月 02 日

関連ページ:

プラグインを管理する

プラグインはPhpStormのコア機能を拡張します。彼ら:バージョン管理システム、アプリケーションサーバー、およびその他のツールとの統合を提供する、さまざまな言語とフレームワークのコーディング支援サポートを追加する、ショートカットヒント、ライブプレビュー、ファイルウォッチャーなどで生産性を向上、コー...

PHP デバッグセッション

デバッグを開始する前に、デバッグエンジンがインストールされ、適切に構成されていることを確認してください。PhpStorm は、XdebugとZend デバッガーの 2 つの最も一般的なツールを使用したデバッグをサポートしています。これらのツールは互いにブロックしているため、同時に使用できません。こ...

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

ゼロコンフィギュレーションデバッグの場合、デバッグ構成を作成する必要はありません。代わりに、PHP アプリケーションの開始ページをブラウザで手動で開き、ブラウザからデバッグエンジンをアクティブにし、PhpStorm は受信デバッガー接続を待機します。デバッグセッションを開始する :デバッグを開始する...

サーバー

このページは、PHPプラグインが有効になっている場合にのみ使用できます。PHPプラグインはPhpStormにバンドルされており、デフォルトでアクティブになっています。プラグインが無効になっている場合は、プラグインの管理に従って、設定/環境設定 | プラグインページでプラグインを有効にします。このペー...

ブレークポイント

ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、単純な場合(たとえば、コード行に到達したときにプログラムを一時停止する場合)や、より複雑なロジック(追加の条件に対するチェック、ログメッ...

中断されたプログラムの調査

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