PHP のデバッグ (デバッグ) 方法は次のとおりです: 1. PHP コードに echo、var_dump、print_r、および exit ステートメントを追加し、デバッグのためにブラウザーを通じて情報を出力します。 2. デバッグには Xdebug を使用します。 3.デバッグ用のコンソール端末経由。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター
ブラウザから情報を出力してデバッグする
方法
echo、var_dump、print_r を追加して終了します。 、ブラウザで出力を表示します。
利点と欠点
利点:
欠点:
ヒント
デバッグ時の, 出力変数をフォーマットするには、多くの場合、プロジェクトに独自の dump()
関数を実装する必要があります。 Composer を使用すると、symfony/var-dumper
パッケージの dump()
関数をグローバルにインストールでき、プロジェクトを変更せずにすべてのプロジェクトで利用できるようになります。
symfony/var-dumper
パッケージ: ${HOME}/.config/composer## にインストールされます。 # directory
composer global require symfony/var-dumper
ファイルを変更し、PHP コードを実行する前に指定されたファイルを含めます
auto_prepend_file = ${HOME}/.config/composer/vendor/autoload.php
Xdebug デバッグを使用する
XDebug は C/S 構造で、クライアントは PHP にインストールされた Xdebug、サーバーは IDE にインストールされたプラグインで、通信に DBGP プロトコルを使用します。 。 PHP がスクリプトを実行すると、Xdebug プラグインを通じてデバッグ情報が IDE に送信され、IDE から制御信号が受信されます。 Xdebug for PHP をインストールして有効にし、2 つが通信できるように IDE の Xdebug プラグインをセットアップする必要があります。利点と欠点
パラメータを含める必要があります。
Web アプリのデバッグ
Web アプリケーションの場合、Xdebug デバッグ モードを有効にするには、ブラウザによって送信されるリクエストに追加のフラグを追加する必要があります。 GET/POST/Cookie パラメーターにXDEBUG_SESSION_START=session_name を追加すると、Xdebug がこのリクエストをデバッグして IDE に接続する必要があることを認識できるようになります。
。
コンソール ターミナルを使用したデバッグ (CLI モード)
スケジュールされたタスクや単体テストなどの非 Web アプリケーションの場合、コンソールで直接デバッグできます。 PhpStorm で、Alt F12 ショートカット キーを使用してコマンド ライン ターミナルを開きます。ただし、IDE に表示できるターミナルは 1 つだけであるため、デバッグをオンにした後のデバッグ ターミナルがコマンド ライン ターミナルを覆ってしまうため、別のコマンド ライン ターミナルを開くことをお勧めします (DOS ウィンドウまたは Windows では PowerShell を使用できます) )。
方法と原則
Web アプリケーションは GET/POST/Cookie パラメーター フラグを使用してリクエストをデバッグしますが、非 Web アプリケーションはコマンド ライン ターミナルで環境変数を設定することによってデバッグを可能にします。 . . 2 つのステップ:、この idekey は
php.ini## と一致する必要があります。 # idekey 設定の一部は同じです。
コマンド ライン ターミナルでスクリプトを実行します。実行すると、IDE のデバッグ ターミナルが呼び出され、シングル ステップのデバッグが可能になり、出力結果がコマンド ライン ターミナルにリアルタイムで表示されます。 IDE は通常、ショートカット操作を提供します。PHPStorm については、「PhpStorm を使用した PHP CLI スクリプトのデバッグ」を参照してください。
IDE を通じてデバッグを開始した後、IDE は Xdebug プラグインを起動して特定のポート (PhpStorm のデフォルトは 9000 ですが、これは PHP-FPM と競合するため 9001 に変更できます) をリッスンして取得します。 PHP サーバーから返されたデバッグ情報。
D:\lnmp\php72\php.exe -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9001 -dxdebug.remote_host=127.0.0.1 D:\lihongfeng\workspace\untitled\index.php
export XDEBUG_CONFIG="idekey=session_name" // 设置环境变量 echo $XDEBUG_CONFIG // 查看环境变量 unset XDEBUG_CONFIG // 删除环境变量
set XDEBUG_CONFIG="idekey=session_name" // 设置环境变量 echo %XDEBUG_CONFIG% // 查看环境变量 set XDEBUG_CONFIG // 查看环境变量 set XDEBUG_CONFIG= // 删除环境变量
推荐学习:《PHP视频教程》
以上がPHPのデバッグ方法にはどのようなものがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。