PhpStorm 2024.2 ヘルプ

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

PhpStorm は、Xdebug または Zend デバッガーの構成を検証し、一部の設定が欠落しているか、他の設定と矛盾しているかどうかを通知します。プロジェクトの PHP インタープリターを構成する場合、PhpStorm はローカルの PHP 開発環境にデバッガーがインストールされているかどうかを通知し、使用されている Xdebug または Zend デバッガーのバージョンを報告します。詳細については、「デバッグエンジンを構成する」、「ローカル PHP インタープリターを構成する」、「リモート PHP インタープリターの構成」を参照してください。

Web サーバーでのデバッガー構成の検証ダイアログを使用して、ローカルまたはリモート Web サーバー上のデバッグエンジンに関する詳細情報を取得することもできます。

  1. 実行 | Web サーバーのデバッグ検証に移動します。

  2. 開いた Web サーバーでのデバッガー構成の検証ダイアログで、デバッガーの検証方法を選択し、必要なパラメーターを指定します。

    Validate Debugger Configuration on Web Server dialog
    • 出力 phpinfo()。PHP インタープリターでデバッガーのインストールを自動的に検証することを選択します。

      出力 phpinfo():

      このフィールドに、php -i CLI コマンドからの出力、または phpinfo() からのレンダリングまたはソース HTML 出力をコピーして貼り付けます。

    • ローカル Web サーバーまたは共有フォルダー。ローカル Web サーバーに関連付けられているデバッガーを確認することを選択します。PhpStorm は検証スクリプトを作成し、それをターゲット環境にデプロイして、そこで実行します。

      検証スクリプトを作成するパス

      このフィールドでは、検証スクリプトが作成されるサーバードキュメントルートのフォルダーへの絶対パスを指定します。所定の位置にタイプの Web サーバーの場合、フォルダーはプロジェクトルートにあります。

      フォルダーは http を介してアクセスできる必要があります。

      検証スクリプトへの URL

      このフィールドに、検証スクリプトが作成されるフォルダーの URL アドレスを入力します。プロジェクトルートが http を介してアクセス可能なフォルダーにマップされている場合、プロジェクトルートまたはその下にある他のフォルダーを指定できます。

    • リモート Web サーバー。リモートサーバーに関連付けられているデバッガーをチェックすることを選択します。PhpStorm は検証スクリプトを作成し、それをターゲットリモート環境にデプロイして、そこで実行します。

      検証スクリプトを作成するパス

      このフィールドでは、検証スクリプトが作成されるサーバードキュメントルートのフォルダーへの絶対パスを指定します。フォルダーは http を介してアクセスできる必要があります。

      デプロイサーバー

      このフィールドでは、ターゲット環境にアクセスするためのタイプローカルサーバーまたはリモートサーバーのサーバーアクセス構成を指定します。詳細については、Web サーバーに接続するを参照してください。

      リストから構成を選択するか、デプロイダイアログ参照 the Browse button をクリックします。

    • デバッグ検証スクリプト。実行中のサーバーで PhpStorm Xdebug 検証スクリプトを手動で実行し、それに関連付けられているデバッガー構成を確認することを選択します。

      スクリプトコマンドのダウンロード

      CLI コマンドをクリップボード () にコピーし、サーバー上で実行してスクリプトをダウンロードし、そこに解凍します。

      検証スクリプトへの URL

      このフィールドに、検証スクリプトがデプロイされるフォルダーの URL アドレスを入力します。プロジェクトルートが http からアクセスできるフォルダーにマップされている場合は、プロジェクトルートまたはその下の他のフォルダーを指定できます。

      Xdebug 構成パラメーターを表示するには、ダウンロードしたスクリプトパッケージから phpstorm_index.php ファイルをブラウザーで開きます。

      Xdebug Validation report
  3. 検証をクリックします。PhpStorm は、デバッガー構成チェックのリストとそのステータスおよび説明を表示し、一貫性のない設定の修正を可能な場合は提案します。

    Xdebug config check

検証結果のトラブルシューティング

接続が拒否されました

Web サーバーへの接続で問題が発生しました。URL (およびポート) が正しいことを確認してください。これらは、URL to validation script オプションまたはデプロイ内で Web サーバーに提供されます。

検証スクリプトへの Web パスが正しく構成されていることを確認する

ローカルプロジェクト内の検証スクリプトを作成するパスは、検証スクリプトへの URL またはデプロイの URL オプションにマップされません。フレームワークまたは PHP ビルトイン Web サーバーを使用している場合は、そのディレクトリに実際のファイルを送信する代わりに、フレームワークが 404 応答を送信している可能性があります。

これをテストする簡単な方法は、検証スクリプトを作成するパスとして設定したディレクトリに test.php ファイルを作成し、そのファイルが URL から検証スクリプトまたは test.php が追加されたデプロイ URL から呼び出せることを確認することです。

例: 検証スクリプトを作成するパス/var/www/public に設定されている場合、そのフォルダーに次の内容の test.php ファイルを作成します。

<?php echo 'test works';

検証スクリプトへの URL またはデプロイの URL が http://192.168.100.100:8080 の場合、http://192.168.100.100:8080/test.php にアクセスしてそのスクリプトを呼び出すことができ、"test works" の出力が表示されるはずです。フレームワークによって生成された 404 が表示されている場合は、URL 書き換えが間違って設定されているため、フレームワークのドキュメントを参照して URL 書き換え設定が実際のファイルを返すようにしてください。

404 を見ていて、PHP ビルトイン Web サーバーを使用しているのであれば、ファイルシステム上のファイルが存在する場合、そのファイルを提供するようにこの Web サーバーを設定することはできないためです。ファイルシステムファイルが存在する場合はそれらを送信するために、すべての要求を送信するファイル(通常は index.php)に次のコードを追加する必要があります。

if (PHP_SAPI == 'cli-server') { // To help the built-in PHP dev server, check if the request was actually for // something which should probably be served as a static file $file = __DIR__ . $_SERVER['REQUEST_URI']; if (is_file($file)) { return false; } }

サーバーホストはおそらくローカルではないにもかかわらず、リモートホストは 'localhost' として設定されています

検証スクリプトへの URL には localhost とは異なるものが含まれていますが、xdebug.remote_host 値が設定されていないため、localhost のデフォルト値を使用しているか、localhost または 127.0.0.1 に設定されています。

次の原因により、指定された URL に到達できません: 「リクエストはステータスコード 404 で失敗しました」

この問題は、サーバーのドキュメントルートがプロジェクトのルートと異なり、デプロイパスマッピングが対応して構成されていない場合に発生する可能性があります。

次の例を考えてみましょう。

  • プロジェクトは /MyProject フォルダーに保存されます。

  • サーバーのドキュメントルートは、public サブフォルダー、つまり /MyProject/public に設定されます。

  • アプリケーションにアクセスするための URL は http://MyApp.test です。

プロジェクトルートフォルダー全体がサーバードキュメントルートにマップされている場合、PhpStorm は http://MyApp.test/public/_intellij_phpdebug_validator.php URL を介して検証スクリプトにアクセスしようとし、その結果、404 エラーが発生します。これを解決するには、public サブフォルダーとサーバードキュメントルート間の明示的なマッピングを設定する必要があります。

  1. 設定ダイアログ(Ctrl+Alt+S)で、ビルド、実行、デプロイ | デプロイに移動します。

  2. デプロイサーバーを選択し、マッピングタブで新規マッピングの追加ボタンをクリックします。

  3. /MyProject/public フォルダーをサーバードキュメントルート / にマップする追加のエントリを追加します。

    Deployment Mappings for Debugger Validation

その結果、検証スクリプトにアクセスするための URL は正しい http://MyApp.test/_intellij_phpdebug_validator.php になります。

関連ページ:

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

PhpStorm は、PHP アプリケーション、クラス、ファイルのデバッグをサポートしています。デバッグ機能は PhpStorm に組み込まれており、設定を構成するだけで済みます。PhpStorm では、JavaScript デバッガーはそのまま使用でき、ほとんどの場合、デフォルトの設定で十分です。必要に応じて、JavaScript デバッガーの構成に従ってデバッガーを構成できます。PhpStorm は、組み込みまたは外部 Web サーバーで実行されているクライアント側アプリケーションのデバッグ...

ローカル PHP インタープリターを構成する

ローカル PHP インタープリターは、リモートホスト、Docker コンテナー、または Vagrant 仮想環境にインストールされるリモート PHP インタープリターとは異なり、コンピューターにインストールされる PHP エンジンです。ローカル PHP インタープリターを構成するを押して設定を開き、を選択します。表示される PHP ページで、CLI インタープリターリストの横にあるをクリックします。表示される CLI インタープリターダイアログで、左側のペインのをクリックして、ポップアップメニューか...

リモート PHP インタープリターの構成

リモート PHP インタープリターは、リモートホストまたは仮想環境にインストールされる PHP エンジンです。リモート PHP インタープリターという用語は、ローカルコンピューターにインストールされるローカル PHP インタープリターの反対です。PhpStorm では、Docker コンテナー内、Docker Compose、Vagrant、WSL 経由で、SSH 経由でリモート PHP インタープリターへのアクセスを構成できます。SSH 構成タイプを使用すると、リモートホスト上のサーバーにインスト...

ローカルサーバー構成を作成する

ローカルサーバーは、ローカルフォルダーまたはマウントされたフォルダーで実行され、ローカル URL アドレスにファイルを提供するサーバーです。ローカルサーバー構成では、PhpStorm プロジェクトで開発を行い、プロジェクトファイルをサーバーのドキュメントルートにアップロードします。PhpStorm でローカルサーバー構成を作成するには、PhpStorm とサーバー間の接続を設定し、PhpStorm プロジェクトとサーバー上のプロジェクトフォルダーおよび対応する URL パス間のマッピングを構成す...

リモートサーバー構成を作成する

リモートサーバー構成では、サーバーは別のコンピューター (リモートホスト) 上で実行されます。リモートサーバー上のファイルにアクセスするには、FTP/SFTP/FTPS/WebDAV プロトコルを使用します。PhpStorm でリモートサーバー構成を作成するには、次の手順を実行する必要があります。リモートホストで認証し、接続を設定するは、そこにインストールされている Web サーバーと PhpStorm の間にあります。PhpStorm プロジェクトとホスト上のプロジェクトフォルダー間のマッピン...

ブラウザーのデバッグ拡張機能

デバッグを開始するには、まずサーバー上でデバッガーエンジンをアクティブにする必要があります。これを行うには、特別なまたはパラメーターを設定する必要があります (詳細については、Xdebug および Zend デバッガーの公式ドキュメントを参照してください)。手動で行うこともできますが、ワンクリックでデバッガーを有効にできるブラウザー拡張機能を使用する方が便利です。次の表に、使用可能なデバッグ拡張機能を示します。Xdebug ヘルパー Xdebug ヘルパーまたは Xdebug-extPhpStorm ブ...