drush si
を使用してサイトをインストールすると、機能モジュールとインストールプロファイルで問題が発生します。機能の問題キューにはおそらく関連する問題がいくつかありますが、適切な解決策はありません。興味深い部分(いくつかの問題で言及されています)は、ブラウザーを介してサイトをインストールすると正常に動作しますが、drush si
でインストールすると失敗します。
何が問題かはわかりますが、確認する必要があります。私がそれを確認することを考えることができる唯一の方法は、デバッガーでコードをステップ実行することです(Xdebugは私が設定したものです)。それで、Drushで実行されたコマンドからXdebugをトリガーすることは可能ですか?具体的には、drush si
を実行したときにXdebugを起動させることができますか?
あなたはdrushではあなたが(ほとんどの場合)cliにいることを覚えておく必要があるので、これは役立つはずです:
https://stackoverflow.com/questions/1947395/how-can-i-debug-a-php-cli-script-with-xdebug
また、オプション-d(--debug)を指定してコマンドを実行してみてください。何が問題なのかについて、かなりの情報が得られるはずです。
私はいつもdrushリクエストでXDebugを使用しています。
php -i
を実行して、XDebugがCLI phpにロードされていることを確認しますxdebug_start_trace()
およびxdebug_stop_trace()
XDebug関数を使用して、オンデマンドでデバッガーを開始できます。最初にCLIでXDebugを構成したことを確認してください(php -i | grep xdebug
)。
次に、新しいワンライナーPHPファイルを次のように作成します(例:drush_xdebug_start.inc):
<?php xdebug_start_trace();
次に、drushを次のように実行します。
drush --early="$PWD"/drush_xdebug_start.inc whatever_command_you_need
Xdebugが適切に設定されていると仮定すると、コードをステップ実行するIDEを統合するのは非常に簡単です。環境変数XDEBUG_CONFIGを "idekey = MYIDEKEY"に設定するだけです。
エイリアスを設定して簡単にしてください。これは私の.aliasファイル(tcsh)で使用するものです。
alias xdebugon 'setenv XDEBUG_CONFIG "idekey=MYIDEKEY"'
alias xdebugoff 'unsetenv XDEBUG_CONFIG'