私はこれを完全には理解していません。私が見つけたすべてのドキュメントは、xdebugを使用してApacheで実行されているスクリプトをデバッグする方法をカバーしています。PHPCLIスクリプトをデバッグする必要があります。
たとえば、xdebugを開始するためにXDEBUG_SESSION_START変数を渡すにはどうすればよいですか?
私は特にCakePHPシェルをデバッグしようとしています。ですから、誰かがそれについて追加の洞察を持っているなら、私は非常に感謝するでしょう。
ありがとう。
Xdebugのマニュアルには、たとえば(引用)など、いくつかの注意事項があります。
export XDEBUG_CONFIG="idekey=session_name"
php myscript.php
Eclipse PDTを使用してPHPスクリプトを開発およびデバッグしている場合、ApacheとCLIの間に大きな違いはありません。構成はまったく同じです。Webサーバーを構成したり、URLを指定したりする必要はありません。代わりに、PHP実行可能ファイルへのパスを指定する必要があります。
変数についてXDEBUG_SESSION_START:まあ、スクリプト全体を「デバッグモード」で起動するので、「デバッグセッション」の概念はありません。
たとえば、Window > Preference > PHP > PHP executables現在の私は次のようになります。右側はEdit、最初のボタンをクリックしたときに表示されるものです。

(ソース:pascal-martin.fr)(ソース:pascal-martin.fr)

そしてdebug configurations窓:

(出典:pascal-martin.fr)
そしてデバッグを開始します:それはうまくいきます:

(出典:pascal-martin.fr)
お役に立てれば :-)
そうでなければ、あなたはどのような特定の問題に遭遇しますか?
bash(または同様のシェル)を使用している場合は、次の小さなスクリプトが役立つ場合があります。
alias drush-debug=drd
function drd {
export XDEBUG_CONFIG="idekey=cli_session"
export SERVER_NAME="developer.machine"
export SERVER_PORT="9000"
drush "$@"
unset XDEBUG_CONFIG
unset SERVER_NAME
unset SERVER_PORT
};
または以下のコメンテーターによって提案されたように
alias drd='XDEBUG_CONFIG="idekey=PHPSTORM" drush "$@"'
このように、デバッグするたびにトリガー変数を手動で設定および設定解除する必要はありません。
次のセクションをphp.iniに配置するだけです
[XDebug]
xdebug.max_nesting_level = 200
xdebug.remote_enable=1
xdebug.remote_port=9000
;xdebug.profiler_enable=1
xdebug.idekey=PHPSTORM
xdebug.remote_autostart=1
PHPSTORMをIDEキーに置き換えます
WindowsおよびVisualStudioCodeの場合、手順は次のとおりです。
https://xdebug.org/downloadからxdebugをダウンロードします。たとえば、php 7.4Windows64ビットhttps://xdebug.org/files/php_xdebug-2.9.5-7.4-vc15-nts-x86_64.dll
xdebug dllをphp拡張ディレクトリ(ext)にコピーします。
php.iniの最後に追加
[XDebug]
zend_extension=php_xdebug-2.9.5-7.4-vc15-nts-x86_64.dll
xdebug.remote_enable=1
xdebug.remote_autostart=1
VSCodeを開き、https: //marketplace.visualstudio.com/items?itemName=felixfbecker.php-debugをインストールします
VSCodeでプロジェクトワークスペースを開き、[実行]タブに移動し、歯車をクリックしてこれらの行を追加します
{
"name": "listen CLI",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "run CLI",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
デバッグするスクリプトにブレークポイントを設定します
「CLIの実行」を選択し、「デバッグの開始」をクリックします
ハッピーデバッグ!