序文
日常の開発では、ブレークポイントのデバッグに var_dump() + die がよく使用されます。ビジネス ニーズには対応できますが、利便性が十分ではありません。多くの欠点があります。たとえば、ブレークポイント コードはコード構造に影響を与えます。コードにブレークポイントがない場合は、コメントを削除すると、コードプログラムに直接影響します、該当するコードを削除して後で使用すると、操作を繰り返す必要があるなど、上記の問題を完全に解決するには、Xdebug を使用することをお勧めします。 cli で Xdebug を使用し、postman を使用します。
Xdebugをインストールする
- https://xdebug.org/wizard を開き、次の図に従って操作します。
ここでは、環境、PHP バージョン、欠落している関連拡張子に応じて .dll / .so 接尾辞を持つ拡張ファイルが提供され、拡張ステートメントが次のとおりに追加されます。プロセスを実行するだけです。 - 拡張機能のインストールを確認するには、php -m と入力します。以下の内容が表示されれば、拡張機能は正常にインストールされています。
Windows環境でphp -mを実行した際に以下のエラーが発生する場合は、php.iniファイルにextension=xdebug.dllを追加せずにzend_extension=xdebug.dllを追加するだけで解決します。
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
PHP Warning: Module 'xdebug' already loaded in Unknown on line 0
Warning: Module 'xdebug' already loaded in Unknown on line 0
関連する Xdebug 構成手順
関連する構成説明アドレス、私の構成は以下のとおりです
[Xdebug]
zend_extension = C:\xampp7\php\ext\php_xdebug.dll
;启用步骤调试。这可用于在代码运行时单步执行代码,并分析变量的值。
xdebug.mode=debug
;指定传递给DBGp调试器处理程序的IDE Key。
xdebug.idekey=PHPSTORM
;是否开启远程调试
xdebug.remote_enable = 1
;指定远程调试的处理协议
xdebug.remote_handler = dbgp
;可以设为req或jit,req表示脚本一开始运行就连接远程客户端,jit表示脚本出错时才连接远程客户端。
xdebug.remote_mode=req
;指定远程调试的主机名
xdebug.remote_host = localhost
;指定远程调试的端口号
xdebug.remote_port=9000
PHPStrom の構成手順
-
Xdebug機能をオンにする
-
サーバー構成の定義
-
Web サーバー上のデバッガー構成を確認する
Cli 環境での Debug デバッグの実装
理由: PHPStorm スクリプトは実行ファイルを選択する必要があり、Yii および Laravel フレームワークは php yii などのコマンドを実行して実行する必要があるため、ブレークポイントを実装することができないため、いくつかのトリックを使用する必要があります。
- 以下に示すようにコンソールコマンドを実行するphpファイルを作成します。
<?php
$command = 'php yii';
foreach ($argv AS $k => $v) {
if($k > 0) $command .= ' '.$v;
}
system($command);
-
以下に示すように実行/デバッグ構成を構成します。追加のパラメーターを構成する必要がある場合は、demo/test 0 1 で十分です。
-
ブレークポイント
-
以下の図に示すように、デバッグと結果を実行して表示します。
WebAPIはDebugデバッグを実装します
以下の図に示すように、PHP リスニング接続をオンにします。
Chrome ブラウザを使用している場合は、Xdebug ヘルパー プラグインをインストールしてデバッグを有効にすることができます。
postman などのツールを使用する場合は、下図に示すように Cookie を設定できます
。
XDEBUG_SESSION=XDEBUG_ECLIPSE; Path=/;
ヒント: 何か問題が見つかった場合は、Chrome プラグインに従って Xdebug ヘルパーをインストールできます。デバッグをオンにした後、ドメイン名にアクセスし、対応する Cookie 情報を確認して結果を確認してください。その後、上記のプロセスに従ってブレークポイントを確認してください。結果。