6

これを正しく機能させるためにかなり長い間試みましたが、うまくいきませんでした。基本的に、PHP 開発ツール (PDT) を備えた Eclipse (3.3)、PDT XDebug プラグイン、SimpleTest Eclipse プラグインがあります。

私がやりたいことは、SimpleTest 単体テストによって呼び出されるコードをデバッグすることです。コード カバレッジ レポートを生成できるため、SimpleTest は明らかに XDebug を認識できますが、ブレークポイントで停止しません。

編集:SimpleTestによって呼び出されたときだけでなく、EclipseでXDebugとブレークポイントが正常に機能することを追加する必要があります

誰かがこれを正常にセットアップしましたか? 多くのガフドキュメントがあり、有用な情報はほとんどありません.

ありがとう!

4

2 に答える 2

3

PHP のバージョンに適した XDebug バージョンがあることを確認し、これを php.ini ファイルの最初に追加します。

[xdebug]
zend_extension=full_path_to_your_xdebug.so 
xdebug.default_enable=On
xdebug.remote_enable=On
xdebug.remote_handler="dbgp"
xdebug.remote_host="localhost"
xdebug.remote_port=9000

次に、apachectl gracefulおよびを実行して、 phpinfoXDebug が存在し、アクティブであることを確認します。そうであれば、すべてがうまくいくはずです。私はそれが私のためにあることを知っています。

編集:質問全体を読む前に答えました。

スクリプトを実行する前に、環境変数を設定する必要があります。

export XDEBUG_CONFIG="idekey=session_name"

PHPからこれを行うことは可能かもしれませんが、これをテストすることはできません:

putenv('XDEBUG_CONFIG="idekey=session_name"');

使用している php バイナリに XDebug 拡張機能がロードされていることを確認する必要があります。私のシステムでは apache モジュールに含まれていますが、デフォルトの CLI インタープリターには含まれていませんが、意図的に異なるバージョンを実行しています。

ここにいくつかの良いドキュメントがあります

于 2009-05-24T23:12:15.507 に答える
1

クリスの答えをさらに進めるには、同じサーバー上で運用環境と開発環境を管理する場合、xdebug 設定をphp includeまたはvirtualhosts専用devtesting環境に委譲することをお勧めします。

  • 仮想ホストの構文は次のとおりです。

    <virtualHost ....>
    
      (...)
    
      # Xdebug ENV
      php_flag xdebug.auto_trace on
      php_flag xdebug.idekey session_name
      php_flag xdebug.profiler_enable_trigger 1
      php_flag xdebug.(...)
    
      (...)
    
于 2012-09-30T11:32:42.637 に答える