web-dev-qa-db-ja.com

PHPStormのデバッグPHPコマンドラインスクリプト

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

PHPスクリプトを(ブラウザーではなく)コマンドラインから実行している状況があり、PHPスクリプト?

21
JoshuaDavid

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

現時点では、構成は少し複雑です。偽のサーバーとPhpStormのPhp Remote Debug構成を使用して、 Zend KBで説明 のようにデバッグできるはずです。このチュートリアルにはエラーがあることに注意してください。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

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

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

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

PhpStormはブレークポイントに到達します:

breakpoint hit

これは、Zend ServerがインストールされたWindowsでテストされましたが、他のシステムやxdebugでも同様である必要があります。

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

PHPのホームモードとデバッガーモードは、File | Settings | PHPで指定できます。

Zendサーバーのインストール(PHPホーム:d:\dev\zend\ZendServer\bin)とZend Debuggerで確認したところ、完全に機能します。

14
CrazyCoder

PHPシェル/コマンドラインでPhpstormを使用したXdebugを使用したデバッグは非常に簡単です。

export XDEBUG_CONFIG="idekey=PHPSTORM"

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

set XDEBUG_CONFIG="idekey=PHPSTORM"

PhpstormがPHPデバッグ接続をリッスンしていることを確認します。

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

unset XDEBUG_CONFIG

これ(PHPSTORM)は、デフォルトのPhpstormIDEキーです。

53
Venkat Kotra
  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

5
David Winiecki

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

2
Peter

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

同じ状況にある場合は、このコマンドを試してください(正しい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]
1
WonderLand

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

1
Rafał Mnich

MacOSでは、別のbash_profileを使用していました。最初に次のコマンドを実行する必要がありました。

source ~/.bash_profile

これにより、私のphpが組み込みの/ usr/bin/phpからXAMPP経由でインストールされたものに変更されました。 PHPStormのXDebugは、上記のコマンドの後で動作を開始しました。

0
Haris ur Rehman