27

私はこれを完全には理解していません。私が見つけたすべてのドキュメントは、xdebugを使用してApacheで実行されているスクリプトをデバッグする方法をカバーしています。PHPCLIスクリプトをデバッグする必要があります。

たとえば、xdebugを開始するためにXDEBUG_SESSION_START変数を渡すにはどうすればよいですか?

私は特にCakePHPシェルをデバッグしようとしています。ですから、誰かがそれについて追加の洞察を持っているなら、私は非常に感謝するでしょう。

ありがとう。

4

4 に答える 4

40

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


お役に立てれば :-)

そうでなければ、あなたはどのような特定の問題に遭遇しますか?

于 2009-12-22T16:23:06.007 に答える
9

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 "$@"'

このように、デバッグするたびにトリガー変数を手動で設定および設定解除する必要はありません。

于 2013-02-11T16:43:41.217 に答える
4

次のセクションを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キーに置き換えます

于 2014-12-10T10:24:09.827 に答える
1

WindowsおよびVisualStudioCodeの場合、手順は次のとおりです。

  1. https://xdebug.org/downloadからxdebugをダウンロードします。たとえば、php 7.4Windows64ビットhttps://xdebug.org/files/php_xdebug-2.9.5-7.4-vc15-nts-x86_64.dll

  2. xdebug dllをphp拡張ディレクトリ(ext)にコピーします。

  3. 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
  1. VSCodeを開き、https: //marketplace.visualstudio.com/items?itemName=felixfbecker.php-debugをインストールします

  2. VSCodeでプロジェクトワークスペースを開き、[実行]タブに移動し、歯車をクリックしてこれらの行を追加します

    {
      "name": "listen CLI",
      "type": "php",
      "request": "launch",
      "port": 9000
    },
    {
      "name": "run CLI",
      "type": "php",
      "request": "launch",
      "program": "${file}",
      "cwd": "${fileDirname}",
      "port": 9000
    }
  1. デバッグするスクリプトにブレークポイントを設定します

  2. 「CLIの実行」を選択し、「デバッグの開始」をクリックします

ハッピーデバッグ!

于 2020-05-18T08:08:49.393 に答える