6

PHPStrom は優れた IDE です。私は本当にそれが好き。しかし、私は問題にぶつかりました。Yii コンソール アプリケーションのデバッグを構成する方法の説明が見つかりません。Yii Web アプリケーションのデバッグを設定すると、正常に動作します。どんな助けでも大歓迎です。

Upd1 : 実は、Yii コンソール アプリケーションには 3 つのケースがあることがわかりました。

標準の Yii コンソール アプリケーション (webapp の protected/commands フォルダー内のコマンド ファイル)

スタンドアロンの Yii コンソール アプリケーション (Web アプリケーションを使用しない独立したコンソール アプリケーション)

[私の場合] YiiBooster コンソール アプリケーション (YiiBooster は高度ですが、中規模または大規模のプロジェクトに適した構造です)

4

3 に答える 3

10

しばらくして、解決策を見つけました。私の場合、2 つの部分に分割する必要があります。

PHPStorm で XDebug を構成する

  1. 適切な Xdebug バージョンを取得します。公式の xdebug サイトからこのウィザードを使用しますphpinfo() 応答をコピーしてウィンドウに貼り付けるだけで、ダウンロードする必要があるバージョンがわかります
  2. それをインストールし、XDebug が有効になっていることを確認します ( phpinfo()は応答で xdebug セクションを返す必要があります)。詳細な手順については、次のリンクを使用してください ここに画像の説明を入力

  3. プロジェクト設定で XDebug を PHP のデバッガとして設定する ここに画像の説明を入力

[以下の手順は、Yii コンソール アプリケーションのデバッグに固有のものです]

  1. プロジェクトでyiic.phpファイルを見つけて、最初にそれを実行またはデバッグします。 ここに画像の説明を入力

  2. この後、Run->Edit Config に移動し、必要なパラメーターを使用して引数にコマンドの名前を設定します。 ここに画像の説明を入力

  3. コードにブレークポイントを設定し、[Listen debugger connections] ボタンを有効にします。 ここに画像の説明を入力

Yii コマンド アクションのデバッグ

  1. コマンドでアクション (actionRebuildIndexes など) を使用する場合は、run() 関数で parent::run メソッドを呼び出す必要があります。

    public function run($args) { 親::実行($args); 0 を返します。}

  2. デバッグするには、yiic.php 実行構成の引数にアクション名を指定する必要があります (上の画像を参照)。
于 2013-05-19T08:53:19.643 に答える
1

これについては、jetbrains ブログに記事があります。

于 2013-05-18T09:39:33.787 に答える
0

php.ini を設定し、次のように

xdebug.remote_autostart = 1

その後、コンソール アプリケーションをデバッグできます。

于 2016-09-02T08:53:25.767 に答える