PHPStorm cli のフレームワーク (Yii、Laravel) でデバッグを有効にする方法

序文

日常の開発では、ブレークポイントのデバッグに var_dump() + die がよく使用されます。ビジネス ニーズには対応できますが、利便性が十分ではありません。多くの欠点があります。たとえば、ブレークポイント コードはコード構造に影響を与えます。コードにブレークポイントがない場合は、コメントを削除すると、コードプログラムに直接影響します、該当するコードを削除して後で使用すると、操作を繰り返す必要があるなど、上記の問題を完全に解決するには、Xdebug を使用することをお勧めします。 cli で Xdebug を使用し、postman を使用します。

Xdebugをインストールする

  1. https://xdebug.org/wizard を開き、次の図に従って操作します。
    ここに画像の説明を挿入します
    ここでは、環境、PHP バージョン、欠落している関連拡張子に応じて .dll / .so 接尾辞を持つ拡張ファイルが提供され、拡張ステートメントが次のとおりに追加されます。プロセスを実行するだけです。
  2. 拡張機能のインストールを確認するには、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 の構成手順

  1. Xdebug機能をオンにする
    ここに画像の説明を挿入します

  2. サーバー構成の定義
    ここに画像の説明を挿入します

  3. Web サーバー上のデバッガー構成を確認するここに画像の説明を挿入します

Cli 環境での Debug デバッグの実装

理由: PHPStorm スクリプトは実行ファイルを選択する必要があり、Yii および Laravel フレームワークは php yii などのコマンドを実行して実行する必要があるため、ブレークポイントを実装することができないため、いくつかのトリックを使用する必要があります。

  1. 以下に示すようにコンソールコマンドを実行するphpファイルを作成します。
<?php
	$command = 'php yii';
	foreach ($argv AS $k => $v) {
    
    
		if($k > 0) $command .= ' '.$v;
	}

	system($command);
  1. 以下に示すように実行/デバッグ構成を構成します。追加のパラメーターを構成する必要がある場合は、demo/test 0 1 で十分です。
    ここに画像の説明を挿入します

  2. ブレークポイント
    ここに画像の説明を挿入します

  3. 以下の図に示すように、デバッグと結果を実行して表示します。
    ここに画像の説明を挿入します

ここに画像の説明を挿入します

WebAPIはDebugデバッグを実装します

以下の図に示すように、PHP リスニング接続をオンにします。
ここに画像の説明を挿入します

Chrome ブラウザを使用している場合は、Xdebug ヘルパー プラグインをインストールしてデバッグを有効にすることができます。

postman などのツールを使用する場合は、下図に示すように Cookie を設定できます
ここに画像の説明を挿入します

XDEBUG_SESSION=XDEBUG_ECLIPSE; Path=/;

ヒント: 何か問題が見つかった場合は、Chrome プラグインに従って Xdebug ヘルパーをインストールできます。デバッグをオンにした後、ドメイン名にアクセスし、対応する Cookie 情報を確認して結果を確認してください。その後、上記のプロセスに従ってブレークポイントを確認してください。結果。
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_43832080/article/details/127426968