私は PHPStorm をデバッグ用の主要なツールとして使用していますPHPそして非常に満足しています。これまでFirefoxを使用してスクリプトを実行してきましたが、PHPStormは完全にブレークをキャッチします。
PHPスクリプトを(ブラウザーではなく)コマンドラインから実行している状況があり、PHPスクリプト?
お願いします 監視/投票 関連する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を設定します。
メインツールバーのDebugボタンを押します。 PhpStormはデバッガ接続のリッスンを開始します。
コマンドラインでスクリプトを実行します。
d:\dev\zend\ZendServer\bin\php.exe d:\work\attaches\sample\helps.php
PhpStormはブレークポイントに到達します:
これは、Zend ServerがインストールされたWindowsでテストされましたが、他のシステムやxdebugでも同様である必要があります。
PhpStormから直接デバッグする場合は、Php Script実行/デバッグ構成タイプを使用します。このプロジェクト用に構成されたPHPインスタンスには、Zend DebuggerまたはXdebugが必要です。 構成ファイルで有効になっています。
PHPのホームモードとデバッガーモードは、File | Settings | PHP
で指定できます。
Zendサーバーのインストール(PHPホーム:d:\dev\zend\ZendServer\bin
)とZend Debuggerで確認したところ、完全に機能します。
PHPシェル/コマンドラインでPhpstormを使用したXdebugを使用したデバッグは非常に簡単です。
export XDEBUG_CONFIG="idekey=PHPSTORM"
Windows CLIでは、エクスポートの代わりにセットを使用します。
set XDEBUG_CONFIG="idekey=PHPSTORM"
PhpstormがPHPデバッグ接続をリッスンしていることを確認します。
コマンドラインからデバッグを無効にするには:
unset XDEBUG_CONFIG
これ(PHPSTORM)は、デフォルトのPhpstormIDEキーです。
スクリプトを実行すると、次の出力が表示されます。
スクリプトをデバッグすると、次の出力が表示されます。
環境変数SERVER_NAME
およびSERVER_PORT
が設定されていることを確認してください。 PHPStormは、適切なマッピングを行うためにそれらを必要とします。 bashでエクスポートするか、phpscriptで手動で設定します。どちらの場合も、PHPStormはそれを$_SERVER['SERVER_NAME']
と$_SERVER['SERVER_PORT']
の下で正しく見つけることができます。
これらの提案はどれも私にとってうまく機能していませんでした。
同じ状況にある場合は、このコマンドを試してください(正しい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では)それはそのように機能しました:export XDEBUG_CONFIG="idekey=12345"
MacOSでは、別のbash_profileを使用していました。最初に次のコマンドを実行する必要がありました。
source ~/.bash_profile
これにより、私のphpが組み込みの/ usr/bin/phpからXAMPP経由でインストールされたものに変更されました。 PHPStormのXDebugは、上記のコマンドの後で動作を開始しました。