From 4e41e64308bbfcc68311457862547a58d7d14417 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sat, 9 Mar 2019 12:10:27 +0100 Subject: [PATCH] Fix #209 documentation for PHP Xdebug on Windows --- .../figures/xdebug/windows/ipconfig.png | Bin 0 -> 39744 bytes .../figures/xdebug/windows/ipconfig.rst | 3 + .../xdebug/windows/virtual-switch-manager.png | Bin 0 -> 27600 bytes .../xdebug/windows/virtual-switch-manager.rst | 3 + .../configure-php-xdebug/windows/atom.rst | 53 +++++++++++++++--- .../configure-php-xdebug/windows/phpstorm.rst | 51 ++++++++++++++--- .../configure-php-xdebug/windows/sublime.rst | 51 ++++++++++++++--- .../configure-php-xdebug/windows/vscode.rst | 51 ++++++++++++++--- 8 files changed, 179 insertions(+), 33 deletions(-) create mode 100644 docs/_includes/figures/xdebug/windows/ipconfig.png create mode 100644 docs/_includes/figures/xdebug/windows/ipconfig.rst create mode 100644 docs/_includes/figures/xdebug/windows/virtual-switch-manager.png create mode 100644 docs/_includes/figures/xdebug/windows/virtual-switch-manager.rst diff --git a/docs/_includes/figures/xdebug/windows/ipconfig.png b/docs/_includes/figures/xdebug/windows/ipconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..8ead3f128aef96337e9fb28f2377803907d5c534 GIT binary patch literal 39744 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 literal 0 HcmV?d00001 diff --git a/docs/_includes/figures/xdebug/windows/virtual-switch-manager.rst b/docs/_includes/figures/xdebug/windows/virtual-switch-manager.rst new file mode 100644 index 00000000..d0d22db4 --- /dev/null +++ b/docs/_includes/figures/xdebug/windows/virtual-switch-manager.rst @@ -0,0 +1,3 @@ +.. figure:: /_includes/figures/xdebug/windows/virtual-switch-manager.png + + Windows: Virtual Switch Manager example screenshot diff --git a/docs/intermediate/configure-php-xdebug/windows/atom.rst b/docs/intermediate/configure-php-xdebug/windows/atom.rst index 86d0ea21..19e7987c 100644 --- a/docs/intermediate/configure-php-xdebug/windows/atom.rst +++ b/docs/intermediate/configure-php-xdebug/windows/atom.rst @@ -30,23 +30,56 @@ about common Xdebug options. * :ref:`php_ini` * :ref:`configure_php_xdebug_options` -Gather DockerNAT IP address ---------------------------- +Gather Host IP address +---------------------- On Windows you will have to manually retrieve the IP address to which Xdebug should connect to via ``xdebug.remote_host``. +When gathering the Windows host IP address you will need to distinguish between two cases depending +on your configuration: - 1. Open command line - 2. Enter ``ipconfig`` - 3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.246.1``) +1. DockerNat IP address (no custom configuration applied) +2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container) - .. seealso:: :ref:`howto_open_terminal_on_win` +Only one of the options may be valid for your setup. + +DockerNAT IP address +-------------------- + +1. Open command line +2. Enter ``ipconfig`` +3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``) .. important:: - ``192.168.246.1`` is meant as an example and will eventually differ on your system. + ``192.168.0.12`` is meant as an example and will eventually differ on your system. Ensure you substitute it with the correct IP address. +.. seealso:: :ref:`howto_open_terminal_on_win` + +Virtual Switch IP address +------------------------- + +When you have created a custom Virtual Switch for you Docker setup, you will have to gather the +Virtual Switch IP address instead of the DockerNat IP address. + +Let's assume you have created the switch by the name **New Virtual Switch** as follows: + + .. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst + + +1. Open command line +2. Enter ``ipconfig`` +3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``) + + .. include:: /_includes/figures/xdebug/windows/ipconfig.rst + + .. important:: + ``192.168.0.12`` is meant as an example and will eventually differ on your system. + Ensure you substitute it with the correct IP address. + +.. seealso:: :ref:`howto_open_terminal_on_win` + Assumption ========== @@ -64,7 +97,9 @@ For the sake of this example, we will assume the following settings and file sys +------------------------------+------------------------------------------+ | Selected PHP version | ``5.6`` | +------------------------------+------------------------------------------+ -| DockerNAT IP address | ``192.168.246.1`` | +| DockerNAT IP address | ``192.168.0.12`` | ++------------------------------+------------------------------------------+ +| Virtual Switch IP address | ``192.168.0.12`` | +------------------------------+------------------------------------------+ The **Resulting local project path** is the path where all projects are stored locally on your @@ -140,7 +175,7 @@ Copy/paste all of the following lines into the above created ``xdebug.ini`` file ; The Windows way xdebug.remote_connect_back=0 - xdebug.remote_host=192.168.246.1 + xdebug.remote_host=192.168.0.12 ; idekey value is specific to Atom xdebug.idekey=xdebug.atom diff --git a/docs/intermediate/configure-php-xdebug/windows/phpstorm.rst b/docs/intermediate/configure-php-xdebug/windows/phpstorm.rst index 9712c16d..d6f248a0 100644 --- a/docs/intermediate/configure-php-xdebug/windows/phpstorm.rst +++ b/docs/intermediate/configure-php-xdebug/windows/phpstorm.rst @@ -30,23 +30,56 @@ about common Xdebug options. * :ref:`php_ini` * :ref:`configure_php_xdebug_options` -Gather DockerNAT IP address ---------------------------- +Gather Host IP address +---------------------- On Windows you will have to manually retrieve the IP address to which Xdebug should connect to via ``xdebug.remote_host``. +When gathering the Windows host IP address you will need to distinguish between two cases depending +on your configuration: - 1. Open command line - 2. Enter ``ipconfig`` - 3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.246.1``) +1. DockerNat IP address (no custom configuration applied) +2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container) + +Only one of the options may be valid for your setup. + +DockerNAT IP address +-------------------- + +1. Open command line +2. Enter ``ipconfig`` +3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``) + + .. important:: + ``192.168.0.12`` is meant as an example and will eventually differ on your system. + Ensure you substitute it with the correct IP address. .. seealso:: :ref:`howto_open_terminal_on_win` +Virtual Switch IP address +------------------------- + +When you have created a custom Virtual Switch for you Docker setup, you will have to gather the +Virtual Switch IP address instead of the DockerNat IP address. + +Let's assume you have created the switch by the name **New Virtual Switch** as follows: + + .. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst + + +1. Open command line +2. Enter ``ipconfig`` +3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``) + + .. include:: /_includes/figures/xdebug/windows/ipconfig.rst + .. important:: - ``192.168.246.1`` is meant as an example and will eventually differ on your system. + ``192.168.0.12`` is meant as an example and will eventually differ on your system. Ensure you substitute it with the correct IP address. +.. seealso:: :ref:`howto_open_terminal_on_win` + Assumption ========== @@ -64,7 +97,9 @@ For the sake of this example, we will assume the following settings and file sys +------------------------------+------------------------------------------+ | Selected PHP version | ``5.6`` | +------------------------------+------------------------------------------+ -| DockerNAT IP address | ``192.168.246.1`` | +| DockerNAT IP address | ``192.168.0.12`` | ++------------------------------+------------------------------------------+ +| Virtual Switch IP address | ``192.168.0.12`` | +------------------------------+------------------------------------------+ The **Resulting local project path** is the path where all projects are stored locally on your @@ -129,7 +164,7 @@ Copy/paste all of the following lines into the above created ``xdebug.ini`` file ; The Windows way xdebug.remote_connect_back=0 - xdebug.remote_host=192.168.246.1 + xdebug.remote_host=192.168.0.12 ; idekey value is specific to PhpStorm xdebug.idekey=PHPSTORM diff --git a/docs/intermediate/configure-php-xdebug/windows/sublime.rst b/docs/intermediate/configure-php-xdebug/windows/sublime.rst index 7c1ea918..6e651861 100644 --- a/docs/intermediate/configure-php-xdebug/windows/sublime.rst +++ b/docs/intermediate/configure-php-xdebug/windows/sublime.rst @@ -30,23 +30,56 @@ about common Xdebug options. * :ref:`php_ini` * :ref:`configure_php_xdebug_options` -Gather DockerNAT IP address ---------------------------- +Gather Host IP address +---------------------- On Windows you will have to manually retrieve the IP address to which Xdebug should connect to via ``xdebug.remote_host``. +When gathering the Windows host IP address you will need to distinguish between two cases depending +on your configuration: - 1. Open command line - 2. Enter ``ipconfig`` - 3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.246.1``) +1. DockerNat IP address (no custom configuration applied) +2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container) + +Only one of the options may be valid for your setup. + +DockerNAT IP address +-------------------- + +1. Open command line +2. Enter ``ipconfig`` +3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``) + + .. important:: + ``192.168.0.12`` is meant as an example and will eventually differ on your system. + Ensure you substitute it with the correct IP address. .. seealso:: :ref:`howto_open_terminal_on_win` +Virtual Switch IP address +------------------------- + +When you have created a custom Virtual Switch for you Docker setup, you will have to gather the +Virtual Switch IP address instead of the DockerNat IP address. + +Let's assume you have created the switch by the name **New Virtual Switch** as follows: + + .. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst + + +1. Open command line +2. Enter ``ipconfig`` +3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``) + + .. include:: /_includes/figures/xdebug/windows/ipconfig.rst + .. important:: - ``192.168.246.1`` is meant as an example and will eventually differ on your system. + ``192.168.0.12`` is meant as an example and will eventually differ on your system. Ensure you substitute it with the correct IP address. +.. seealso:: :ref:`howto_open_terminal_on_win` + Assumption ========== @@ -64,7 +97,9 @@ For the sake of this example, we will assume the following settings and file sys +------------------------------+------------------------------------------+ | Selected PHP version | ``5.6`` | +------------------------------+------------------------------------------+ -| DockerNAT IP address | ``192.168.246.1`` | +| DockerNAT IP address | ``192.168.0.12`` | ++------------------------------+------------------------------------------+ +| Virtual Switch IP address | ``192.168.0.12`` | +------------------------------+------------------------------------------+ The **Resulting local project path** is the path where all projects are stored locally on your @@ -138,7 +173,7 @@ Copy/paste all of the following lines into the above created ``xdebug.ini`` file ; The Windows way xdebug.remote_connect_back=0 - xdebug.remote_host=192.168.246.1 + xdebug.remote_host=192.168.0.12 ; idekey value is specific to Sublime xdebug.idekey=sublime.xdebug diff --git a/docs/intermediate/configure-php-xdebug/windows/vscode.rst b/docs/intermediate/configure-php-xdebug/windows/vscode.rst index 3b783ca8..06a566ad 100644 --- a/docs/intermediate/configure-php-xdebug/windows/vscode.rst +++ b/docs/intermediate/configure-php-xdebug/windows/vscode.rst @@ -30,23 +30,56 @@ about common Xdebug options. * :ref:`php_ini` * :ref:`configure_php_xdebug_options` -Gather DockerNAT IP address ---------------------------- +Gather Host IP address +---------------------- On Windows you will have to manually retrieve the IP address to which Xdebug should connect to via ``xdebug.remote_host``. +When gathering the Windows host IP address you will need to distinguish between two cases depending +on your configuration: - 1. Open command line - 2. Enter ``ipconfig`` - 3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.246.1``) +1. DockerNat IP address (no custom configuration applied) +2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container) + +Only one of the options may be valid for your setup. + +DockerNAT IP address +-------------------- + +1. Open command line +2. Enter ``ipconfig`` +3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``) + + .. important:: + ``192.168.0.12`` is meant as an example and will eventually differ on your system. + Ensure you substitute it with the correct IP address. .. seealso:: :ref:`howto_open_terminal_on_win` +Virtual Switch IP address +------------------------- + +When you have created a custom Virtual Switch for you Docker setup, you will have to gather the +Virtual Switch IP address instead of the DockerNat IP address. + +Let's assume you have created the switch by the name **New Virtual Switch** as follows: + + .. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst + + +1. Open command line +2. Enter ``ipconfig`` +3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``) + + .. include:: /_includes/figures/xdebug/windows/ipconfig.rst + .. important:: - ``192.168.246.1`` is meant as an example and will eventually differ on your system. + ``192.168.0.12`` is meant as an example and will eventually differ on your system. Ensure you substitute it with the correct IP address. +.. seealso:: :ref:`howto_open_terminal_on_win` + Assumption ========== @@ -64,7 +97,9 @@ For the sake of this example, we will assume the following settings and file sys +------------------------------+------------------------------------------+ | Selected PHP version | ``5.6`` | +------------------------------+------------------------------------------+ -| DockerNAT IP address | ``192.168.246.1`` | +| DockerNAT IP address | ``192.168.0.12`` | ++------------------------------+------------------------------------------+ +| Virtual Switch IP address | ``192.168.0.12`` | +------------------------------+------------------------------------------+ The **Resulting local project path** is the path where all projects are stored locally on your @@ -156,7 +191,7 @@ Copy/paste all of the following lines into the above created ``xdebug.ini`` file ; The Windows way xdebug.remote_connect_back=0 - xdebug.remote_host=192.168.246.1 + xdebug.remote_host=192.168.0.12 ; idekey value is specific to Visual Studio Code xdebug.idekey=VSCODE