私はDockerでPHPアプリケーションを実行していますが、XDebugを使用してデバッグしたいと思います。私のドッキングウィンドウ・コンで 私はphpfpm部分に以下の行を追加:XDEBUG_CONFIG環境変数を無視するXdebug(内部のDockerコンテナ)
environment:
XDEBUG_CONFIG: "remote_enable=1 remote_host=192.168.110.29 remote_port=9000 idekey=PHPSTORM remote_autostart=1"
PHP_IDE_CONFIG: "serverName=reports.dev"
を、私は、正しい方法でPHPStormを設定したポート9000でリッスンし、アプリケーションを実行しました。
アプリケーションは完璧に動作しますが、XDebugは機能していないようです。
php.iniファイル内で設定行を移動すると、サーバー名が空でデバッグできないという点を除いて、デバッガが機能します(ドッキングできない設定方法に従って試しています)。
ドッカーコンテナ内でecho $ XDEBUG_CONFIGを実行すると、出力は正しくなりますが、XDebugはそのEnv変数を読み取れないようです。
1)Webページのデバッグを行っていますか?もしそうなら、そこにサーバ名を設定してください(特にnginxの場合は非常に頻繁に空白になります)。 2)どのようにコンテナを発射しますか?つまり、PhpStormをこれに使用しているのですか、それとも外部から管理していますか(例えば端末)? https://youtrack.jetbrains.com/issue/WI-33800 – LazyOne
1)はい、私はウェブページをデバッグしています。はい、nginxのサーバー名は定義されていません。コードがコンテナ内にないので、私は単一のドッカーを持っています。私のプロジェクトのすべてを対象としており、私はそれを変更するつもりはない。 2)私はphpstorm外のターミナルでdocker-composeを使用しています。 これは私の質問に答えることはできませんが、XDEBUG_CONFIGがコンテナ内のxdebugによって読み取られない理由を理解できません – sangio90