2017-08-05 17 views
2

Symphony WebサーバーをPhpStormから実行することは可能ですか? 私は、コマンドラインから実行することができます知っている:私のためにそれを行うにはPhpStormを設定するには、どのようにどのような方法があるかどうSymphony WebサーバーをPhpStormから実行する方法

php app/console server:run --env=dev 

は私だけだろうか。

+2

[外部ツール](https://confluence.jetbrains.com/display/PhpStorm/Running+External+Tools+in+PhpStorm)の機能2)「PHP」の実行/デバッグ設定スクリプト "タイプも動作します。おそらく他の方法もあります(例えば、npm/gulp/grunt/phingタスクなどを使って実行します)...私はSymfonyのユーザーではない+ "適切な" Webサーバー(Apache/nginx/IIS) PHPのサーバー上では、他の方法を考えることができません。 – LazyOne

+0

私のコードにブレークポイントを入れることさえできれば幸いです。 –

+0

Command Line Tool Integrationを使用してエイリアスを作成し、このコマンドをすばやく実行することもできます。それ以外(まだ見ていない場合):https://confluence.jetbrains.com/display/PhpStorm/Symfony+Development+using+PhpStorm – LazyOne

答えて

7
  • クリックRun -> Edit Configurations
  • ダイアログボックスで+(追加)
  • をクリックして選択PHP Scriptスクリプトのフィールドで名フィールドタイプSymfony Web-Server
  • でリスト
  • ドロップダウンからのパスを置きますあなたのbin/console 例:/path/to/symfony/bin/console
  • 任意でActivate Tool Windowをオフにする引数のフィールドタイプではこれがにRun Symfony Web-ServerDebug Symfony Web-Serverオプションを提供します

Symfony Web-Server Script

ダイアログボックスを保存して閉じるには、[OK] server:run

  • クリックし
  • を始めたときにポップアップからそれをベント選択します。実行中のサーバをデバッグするには、サーバスクリプトを実行する前にデバッグ接続を待機するようにPHPStormに指示する必要があります。 Settings -> Languages & Frameworks -> PHP -> Serversでデバッグを設定するには、127.0.0.1:8000を作成してください。Path Mappingを無効にして、Xdebugをデバッガとして設定してください。オプションで、Debug -> XDebug設定の最初の行でstopを無効にします。

    PHP Server Settings

    今、あなたがダウンしてあなたの実行コンフィギュレーション・ドロップでそれを選択し、再生ボタンをクリックすることで、サーバーを起動することができます。まずPHPStormにListen for Debug接続を指示してください。

    Debug bar

    またはRun -> Symfony Web-Serverをクリックして。

    ブレークポイントを追加し、ブレークポイントの影響を受けたルートにブラウザを起動し、PHPStormがデバッグセッションをキャプチャして必要に応じてブレークする必要があります。

    debug output

    デバッグが最初に失敗した場合、実行中のPHPStormサービスのすべてに近い、とDebug Symfony Web-Serverを実行してみてください(PHPStormは、デバッグ接続のために待機していることを確実にすること)してから再起動し、ブラウザ。 何らかの理由で、Xdebugが他の方法で初期化できないことがありますが、この動作は散発的であり、一貫して再現するのは難しいです。それが初期化された後、リッスンが有効な間に非デバッグWebサーバーを実行することができ、正常に動作しているようです。

    特別な注意点として、Debug Symfony Web-Serverを実行すると、 bin/consoleスクリプトのみが監視されます。これは、symfonyサーバPHPプロセス がforkされ、デバッグセッションが親プロセス のプロセスを監視したままになるためです。したがって、Webサーバをデバッグするときに、デバッグ接続を聞くようにPHPStormに指示する必要があります。

  • +0

    補足として、 DockerまたはVagrantを使用して、Webサーバー(Apache、NginX、IIS)の希望するOSディストリビューションとフレーバーを設定します。これは、運用環境を複製し、展開する前に同様の環境でローカルシステムでテストする最も一貫した方法です。 – fyrye

    関連する問題