2016-07-11 34 views
2

私のチームのためのDocker開発環境をセットアップしています。この環境では、XdebugをDockerに統合してデバッグを可能にしたいと考えています。これを行う最も簡単な方法は、崇高なテキストをDockerインスタンスに接続して、Sublime TextにXdebug ontopをインストールすることです。 Dubler(http://domeide.github.io/)とSublime Textを統合するための以下のガイドと、XdebugとSublime Text(https://www.sitepoint.com/debugging-xdebug-sublime-text-3/)を統合するためのこのガイドが見つかりました。誰かが同様の環境を設定している経験があるなら、私は疑問に思っていますか?これを行う簡単な方法はありますか?これはDocker内でPHPコードをデバッグする正しい方法のようですか?PHP環境でDockerとXdebugとSublime Textを統合する

+0

でXdebugを持つ画像などを構築する方法を含むため、全体のセットアップこの開発環境をセットアップするための最良の方法を使用することを私が発見しましたDocker共有ボリューム。コンテナとホストの間で共有ボリュームが設定されている場合は、テキストエディタを使用できます。 –

答えて

1

このソリューションは、崇高なテキストでも動作します.Visual Studioコードでは、最近この機能があります。私はこれらのremote_hostと他のXdebugの設定が、Docker Community Editionの最新バージョンを使ってWindows 10 ProとOS Xの両方で動作することを発見しました。

Xdebug拡張設定では、PHPを含むドッカーハブからイメージパッケージのDockerfileにXdebug拡張インストールを設定します。 Dockerfileでこれがどのように行われたか、画像がどのように構築されてからdocker-composeファイルに追加されたかについて、この回答の一番下にあるポストへのリンクがあります。

  1. xdebug.remote_connect_back設定はオフにする必要があります:xdebug.remote_connect_back=0
  2. 自動起動xdebug.remote_autostart=1それだけで動作します。
  3. xdebug.remote_host = 127.0.0.1は、次のようにWindowsまたはOS Xに応じて変更する必要があります

のWindows 10 Professionalのランニングドッカーバージョン17.03.0-CE-WIN1、コマンドプロンプトを開き、ipconfigと入力します。アドレスはDockerNATの下に表示されます。たとえば:

ipconfig 

Ethernet adapter vEthernet (DockerNAT): 

    IPv4 Address. . . . . . . . . . . : 10.0.75.1 
ドッカーバージョン17.03.0-CE-MAC2を実行している

OS Xエルキャピタン、既存のサブネットマスクにIP 10.254.254.254のエイリアスを作成します。

sudo ifconfig en0 alias 10.254.254.254 255.255.255.0 

そして、上記の例に基づいて以下のように、あなたのホストの設定xdebug.remote_host用IPを使用します。

  1. のWindows 10.0.75.1
  2. OS X:10.254.254.254

注意、場合あなたはOS Xで競合に遭遇した場合、エイリアスを削除することができます。

sudo ifconfig en0 -alias 10.254.254.254 

vscode-php-debug PHPデバッグアダプタを使用してVisual Studio Codeを使用して、Xdebugをリッスンし、コードをステップ実行します。 VSコードがリモートサーバーファイルをローカルマシンにマップするためには、プロジェクトlaunch.jsonファイルに以下を含める必要があります。これは私のプロジェクトと典型的なボリュームの場所からのもので、serverSourceRootは同じに見えます。

"serverSourceRoot": "/var/www/html", 
"localSourceRoot": "${workspaceRoot}" 

ドッキングウィンドウ・コン、nginxのプロキシDocker WordPress Dev Environment - Remote Debugging with Xdebug and VS Code

+0

私はこれを驚くほど難しくしました。なぜなら、ローカルIPをデバッグしている作業用コンテナに入れなければならないからです。私は、私が作業しているBOXに応じて手動で設定を編集する必要があることが非常に気難しいです。この時点でソリューションを改善しましたか? – ktamlyn

+1

@ktamlyn、これは、env変数としてremote_host IPを渡すときに少し簡単に管理できます。docker-composeを使うと、環境に応じて設定をコメント/コメント解除できるようになります。 –

関連する問題