7

xDebug を使用するように構成された PHPStorm を使用しています (Web ブラウザー経由で問題なくデバッグできます)。

11854 の idekey を持つ PHPStorm でデバッガーを実行し、単体テストをデバッグしようとしており、ブレークポイントを適切に設定しました

だから私はcliを介してこのコマンドを実行しました:

phpunit -d xdebug.profiler_enable=on -d xdebug.idekey=11854 --filter testFunction s_function/sFunctionTest.php

それにもかかわらず、それに応じてブレークポイントでデバッグしません...

テストスクリプトでこれを実行しようとしたとき:

error_log(ini_get('xdebug.profiler_enable'));
error_log(ini_get('xdebug.idekey'));

xdebug.profiler_enable が 0 で、xdebug.idekey が私のユーザー名であることがわかります。

私は何を間違えましたか、どうすればcliを介してphpunitでxdebugを動作させることができますか

4

4 に答える 4

7

PHPではなく、phpunitに引数を設定しているだけです。以下はあなたが望むことをするはずです:

php -d xdebug.profiler_enable=on -d xdebug.idekey=11854 `which phpunit` --filter testFunction s_function/sFunctionTest.php
于 2013-06-22T12:36:06.600 に答える
0

私はここで非常に異なる設定を試みています。私は自分のアプリケーションをドッカー内で実行しており、本番環境で実行されているコンテナーと非常によく似たコンテナーを使用しています。したがって、私の開発環境で xdebug を使用して php を実行するには、xdebug パラメータと PHPStorm 変数を使用してエイリアスを設定する必要がありました。

$ alias php=`which php`' \
    -d xdebug.idekey=xdbg \
    -d xdebug.remote_enable=1 \
    -d xdebug.remote_connect_back=1 \
    -d xdebug.remote_autostart=1 \
    -d xdebug.remote_port=9000 \
    -d xdebug.remote_host=172.17.0.1 \
    -d xdebug.remote_handler=dbgp'

$ export PHP_IDE_CONFIG="serverName=localapp.docker"

この美しくないトリックの後、PHPStorm にブレークポイントを設定し、コマンド ラインから phpunit を実行することができました。

$ php ../../bin/phpunit --verbose

上記のすべてのコマンドは、コンテナー内で実行されました。これlocalapp.dockerは私のコンテナのアドレスであり、/etc/hostsホストがハードコードされています。

于 2016-11-17T10:32:49.563 に答える
0

UbuntuでCLIをデバッグするために、それを機能させる唯一の方法は、 ~/.bashrc ファイルに次を追加することであることがわかりました

export PHP_IDE_CONFIG='serverName=localhost'
export XDEBUG_CONFIG='idekey=PHPSTORM'

idekey=?? を置き換えます あなたの例では11854に。変数が使用されるように、必ず新しいコンソール セッションを開始してください。

于 2014-10-07T07:00:00.530 に答える