質問

私が使う phpstorm PHPをデバッグするための私の主なツールとして、そして非常に喜んでいます。これまでのところ、私はFirefoxを使用してスクリプトを実行してきましたが、Phpstormはブレークを完全にキャッチしています。

今、私はコマンドライン(ブラウザではない)を介してPHPスクリプトを実行している状況があり、コマンドラインを介してPHPスクリプトを実行するときにブレークをキャッチするためにPHPSTORMをセットアップする方法があるかどうかを知りたいですか?

役に立ちましたか?

解決

お願いします 視聴/投票 関連するphpstormの問題。

現時点では、構成は少し複雑です。のようにデバッグすることが可能であるはずです Zend KBで説明されています, 、偽のサーバーを使用します PHPリモートデバッグ phpstormの構成。このチュートリアルにはエラーがあることに注意してください。このようなquery_stringを(Windowsで)設定する必要があります。

SET "QUERY_STRING=start_debug=1&debug_port=10137&debug_host=127.0.0.1&debug_stop=1&no_remote=1&debug_session_id=10000"

(重要な引用の違いに注意してください)。

スクリーンショットに示されているようにphpstormをセットアップします。

fake server

remote debug

を押します デバッグ メインツールバーのボタン。 PHPSTORMは、デバッガー接続のリスニングを開始します。

コマンドラインでスクリプトを実行します:

d:\dev\zend\ZendServer\bin\php.exe d:\work\attaches\sample\helps.php

phpstormはブレークポイントにヒットします:

breakpoint hit

これは、Zend ServerのインストールでWindowsでテストされましたが、他のシステムやXdebugで類似している必要があります。

phpstormから直接デバッグしたい場合は、使用してください PHPスクリプト 構成タイプを実行/デバッグします。このプロジェクト用に構成されたPHPインスタンスはどちらかを持っている必要があります Zend Debugger また xdebug 構成ファイルで有効になります。

PHPホームおよびデバッガーモードを指定できます File | Settings | PHP.

Zend Serverのインストールで確認しただけです(PHP Home: d:\dev\zend\ZendServer\bin)そしてZend Debuggerは、私にとって完璧に機能します。

他のヒント

PHPSTORMでシェル/コマンドラインでXDebugを使用してPHPデバッグできるようにすることは非常に簡単です。

export XDEBUG_CONFIG="idekey=PHPSTORM"

Windows CLIでは、エクスポートの代わりにセットを使用します。

set XDEBUG_CONFIG="idekey=PHPSTORM"

PHPStormがPHPデバッグ接続を聴いていることを確認してください。

コマンドラインエンドからデバッグを無効にするには:

unset XDEBUG_CONFIG

これ(phpstorm)は、デフォルトのphpstorm ide-keyです。

  1. 実行]をクリックします。
  2. 構成の編集]をクリックします...
  3. グリーン +をクリックします
  4. PHPスクリプトを選択します。
  5. 名前フィールドに名前を提供します。
  6. ファイルフィールドにスクリプトへのフルパスを提供します。
  7. OK]をクリックします。
  8. このドロップダウンで構成したスクリプトを選択します。

Screenshot of PhpStorm menu bar

  1. 実行またはデバッグ]ボタンをクリックします。スクリプトが実行され、設定されたブレークポイントをキャッチする必要があります。

スクリプトを実行すると、ここで出力を見ることができます。

Screenshot of Run widget, typically docked on the bottom of the window

スクリプトをデバッグすると、ここで出力を見ることができます。

Screenshot of Console widget, docked in the Debug widget

その環境変数を確認してください SERVER_NAMESERVER_PORT 設定されています。 phpstormは、適切なマッピングを行う必要があります。 bashでエクスポートするか、phpscriptで手動でそれらを設定します。どちらの場合も、phpstormはそれを下に見つけることができます $_SERVER['SERVER_NAME']$_SERVER['SERVER_PORT'] 正しく。

私にとって(macosで)それはそのように働きました:export XDEBUG_CONFIG="idekey=12345"

これらの提案はどれも私にとってうまく機能していませんでした。

同じ状況にある場合は、このコマンドを試してください(右のPHPインタープリターパスを確認してください)

/usr/bin/php -dzend_extension=xdebug.so -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 -dxdebug.remote_autostart=1 [PHP_SCRIPT]

macosでは、私は別のbash_profileを使用していました。私は最初に次のコマンドを実行しなければなりませんでした:

source ~/.bash_profile

これにより、PHPが内蔵/USR/BIN/PHPからXAMPPを介してインストールされたものに変更されました。 phpstormのXdebugは、上記のコマンドの後に動作し始めました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top