web-dev-qa-db-ja.com

xdebugでdrushを動作させる方法-最近壊れた可能性があります

私は何年もxdebugでdrushを使用しています。コアの「drush」スクリプトに変更が加えられたために、過去2週間で壊れたようです( Finder、ラッパー、およびランチャーステージに「drush」スクリプトを分割しました。 )。 Ubuntuで「pcntl_exec」を介してディスパッチするようになり、xdebugがその後制御を取得することはありません。

私は、drushを以前のコミットに戻そうとしました( "8ab7ad9 ...ログメッセージに挿入される可能性のあるhtmlタグに対して、uliテストをより弾力的にします。")。これにより、xdebugの問題が修正されますが、 RC1と互換性がある:-(。だから、私はpcntl_execの追加を強く疑います。

誰もがこれを回避する方法を知っていますか、それとも私は彼らのgithubサイトでdrushに対する問題を記録する必要がありますか?

6

以前のDrushスクリプトは、引き続きdrush.launcherとして入手できます。 xdebugでDrushを使用する場合は、これをエントリポイントにして、drushの「Finder」スクリプト(単に「drush」と呼ばれる)を完全に省略することをお勧めします。

これでうまくいかない場合は、GitHubのDrushの問題キューにレポートを作成する必要があります。

7
greg_1_anderson

ここでの別のオプションは、より多くの同時デバッグセッションを許可することです。 PHPStormを使用して、同じ問題が発生した場合、デフォルトでは1つの接続のみが許可されます。 設定->言語とフレームワーク-> PHP->デバッグにチェックインすると、最大同時接続設定が見つかります。これを2以上にすると、生成されたプロセスがXDebugに接続してPHPStormに戻り、続行できます。

1
JGM

vdebug というプラグインを使用して、vimでxdebugを使用します。 Drushコマンドをデバッグする場合、~/.composer/vendor/drush/drush/drush。 drushが別のスクリプトを実行するときにxdebugが処理を続行できるようにするには、 F7 その後 F5非常に迅速に連続。

詳細については、こちらの説明を参照してください。 https://github.com/joonty/vdebug/issues/97#issuecomment-334481429

0
jimafisk