PHPをデバッグする方法

(*-*)浩
リリース: 2023-02-23 09:34:01
オリジナル
7019 人が閲覧しました

次の例はすべて、Windows 上の LNMP 環境に基づいています。

PHPをデバッグする方法

#ブラウザから情報を出力してデバッグする (推奨学習: PHP ビデオ チュートリアル)# #Method

echo、var_dump、print_r を追加してコードに終了し、ブラウザーで出力を表示します。

メリットとデメリット

メリット:

シンプルで使いやすく、プラグインをインストールする必要がありません

自分で書いたコード、または使い慣れたフレームワークを使用すると、これを行うことができます。

欠点:

マルチブランチ ロジックの場合、大量のコードを追加するか、複数回試行する必要があります。

不慣れなロジックでは、完全な実行プロセスを反映できません。

プロジェクトにデバッグ ステートメントを残すことは可能です

シングル ステップは実行できません

デバッグには Xdebug を使用します

XDebug はC /S 構造。クライアントは PHP にインストールされた Xdebug、サーバーは IDE にインストールされたプラグインで、通信には DBGP プロトコルを使用します。 PHP がスクリプトを実行すると、Xdebug プラグインを通じてデバッグ情報が IDE に送信され、IDE から制御信号が受信されます。

Xdebug for PHP をインストールして有効にし、2 つが通信できるように IDE の Xdebug プラグインをセットアップする必要があります。

メリットとデメリット

シングルステップのデバッグと任意の変数値の取得をサポート

複雑な構成、プラグインのインストールにはIDEが必要

連携をサポートブラウザの場合、リクエストには XDEBUG_SESSION_START パラメータを含める必要があります。

Web アプリケーションのデバッグ

Web アプリケーションの場合、Xdebug デバッグ モードを有効にするには、追加のフラグをブラウザによって送信されたリクエスト。 GET/POST/Cookie パラメーターに XDEBUG_SESSION_START=session_name を追加すると、Xdebug がこのリクエストをデバッグして IDE に接続する必要があることを認識できるようになります。

コンソール ターミナルを使用したデバッグ (CLI モード)

スケジュールされたタスクや単体テストなどの非 Web アプリケーションの場合、コンソールで直接デバッグできます。

Alt F12 ショートカット キーを使用して、PhpStorm でコマンド ライン ターミナルを開きます。ただし、IDE に表示できるターミナルは 1 つだけであるため、デバッグをオンにした後のデバッグ ターミナルがコマンド ライン ターミナルを覆ってしまうため、別のコマンド ライン ターミナルを開くことをお勧めします (DOS ウィンドウまたは Windows では PowerShell を使用できます) )。

方法と原理

Web アプリケーションは GET/POST/Cookie パラメーターを通じてデバッグ要求にフラグを立てますが、非 Web アプリケーションはコマンド ライン ターミナルで環境変数を設定することによってデバッグを有効にします。

2 つのステップ:

環境変数 XDEBUG_CONFIG="idekey=session_name" を設定します。この idekey は、php.ini の Xdebug セクションで設定された idekey と同じである必要があります。

コマンド ライン ターミナルでスクリプトを実行します。実行すると、IDE のデバッグ ターミナルが呼び出され、シングル ステップのデバッグが可能になり、出力結果がコマンド ライン ターミナルにリアルタイムで表示されます。

PHP 関連の技術記事の詳細については、

PHP グラフィック チュートリアル

列にアクセスして学習してください。

以上がPHPをデバッグする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート