2017-10-28 14 views
0

私の現在の設定には、基本的にCLIツールであるSymfony 3プロジェクトをインポートしたPhpStorm IDEが関係します。ホストマシンではPHPがインストールされていないので、PHPとXdebugがインストールされたDockerコンテナからアプリケーションを実行しています。Dockerコンテナ内のPhpStormを使用したSymfony CLIアプリケーション

私はDockerコンテナからWebアプリケーションをデバッグするのに問題はありませんが、SymfonyとこのCLIツールを使用すると少し難解です。

私の質問は、これを適切に設定してPhpStormからデバッグする方法です。私は新しいデバッグ構成(PHPリモートデバッグ)を作成しようとしましたが、ブレークポイントはトリガーされません。

+0

CLIツールであると言っているのであれば、なぜ "PHP Remote Debug"設定を作成しようとしますか? PHPリモートインタープリタを作成し、CLIスクリプトを実行/デバッグするための(つまり、IDEがそのDockerコンテナで実行するように) "PHP Script"タイプの設定を使用する必要があります。 – LazyOne

+0

私は正常にデバッガをトリガすることができましたが、今はタイムゾーン 'PHPの致命的なエラーで問題が発生しました: 'キャプチャされた例外'例外 'メッセージ' DateTime :: __ construct():システムのタイムゾーン設定に依存することは安全ではありません。 date.timezone設定またはdate_default_timezone_set()関数を使用するには*必須*です。あなたがこれらの方法のいずれかを使用していて、まだこの警告が表示されている場合は、おそらくタイムゾーン識別子のスペルが間違っている可能性があります。iniはタイムゾーンが正しく設定されており、php -iはロードされていることを示しています。 – tslid

+0

私はタイムゾーンを-dオプション(phpstormインタープリタオプションで設定)として渡して解決しましたが、php.iniにこの設定が含まれているので、それは本当に変です。それは完全に無視されているようです。 – tslid

答えて

0

あなたは以下のリンクに言及した命令に従っているSuppossing:次に、あなたがtheese手順を実行する必要があり

または類似の質問

ステップ1: はランニングを経由してあなたのコンテナへのシェルアクセスを取得します。

docker exec -ti ^container_id^ /bin/sh 

やDebian/Ubuntuのベースの1(または手動bashインストール)を実行している場合:^container_id^を見つけることができます

docker exec -ti ^container_id^ /bin/bash 

docker psコマンドを使用すると、テーブルの最初の列になります。コマンドを結果としてless -Sにちょうどパイプint型の小さなウィンドウ上で実行されている場合は、次のようServersセクションに指定された正しい値設定にご注意ください

export PHP_IDE_CONFIG="serverName=0.0.0.0:5092" 
export XDEBUG_CONFIG="idekey=PHPSTORM" 

docker ps | less -S 

その後、次のenviromental変数をエクスポートあなたはイメージで見る:

Phpstorm settings

ことが重要であるないためにthis質問に記載されている問題が発生します。

その後、phpstormにデバッガのlistentinを有効にして、symfonyアプリケーションの実行時と同じようにcliを起動してください。

関連する問題