Xdebug For Phpstorm



Phpxdebug: 1 phpxdebugdefaultenable: 1 phpxdebugremoteconnectback: 0 phpideconfig: servername=phpstorm phpxdebugidekey: 'phpstorm' phpxdebugremotehost: 172.17.0.1 # linux If you enable these after you've created the PHP container, remember to restart the container so that xdebug is enabled and configured. Turn on XDebug inside the VM; Start listening for connections in PhpStorm by clicking the small telephone icon; Load a VM page in your browser PhpStorm will detect a request to connect, but will complain that path mappings are not set up. This is fine, we’re about to do that. This video is a part of JetBrains PhpStorm Video Tutorials by JetBrains Technical Evangelist Maarten Balliauw. Using PhpStorm with Acquia Dev Desktop¶. PhpStorm from JetBrains is an IDE for PHP and Drupal that can be immensely useful in developing, testing, and debugging a Drupal website. It includes both a rich code editor and a visual debugger supporting Xdebug. This topic describes how to set up PhpStorm to support developing your Drupal website with Acquia Dev Desktop.

Docker for Windows requires a well known IP address in order to connect to the host operatingsystem.

Download Xdebug For Phpstorm

XdebugForXdebug phpstorm vagrant

Table of Contents

  • Prerequisites
  • Configuration

Ensure you know how to customize php.ini values for the Devilbox and have a rough understandingabout common Xdebug options.

On Windows you will have to manually retrieve the IP address to which Xdebug should connect tovia xdebug.remote_host.

When you have done no custom configuration in your Virtual Switch manager, Docker for Windows willuse the DefaultSwitch automatically.

Windows: Virtual Switch Manager example screenshot

  1. Open command line

  2. Enter ipconfig

  3. Look for the IP4 address in DefaultSwitch (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.

For the sake of this example, we will assume the following settings and file system paths:

DirectoryPath
Devilbox git directory/home/cytopia/repo/devilbox
HOST_PATH_HTTPD_DATADIR./data/www
Resulting local project path/home/cytopia/repo/devilbox/data/www
Selected PHP version5.6
DockerNAT IP address192.168.0.12
Virtual Switch IP address192.168.0.12
Phpstorm xdebug waiting for connection

The Resulting local project path is the path where all projects are stored locally on yourhost operating system. No matter what this path is, the equivalent remote path (inside the Dockercontainer) is always /shared/httpd.

Important

Remember this, when it comes to path mapping in your IDE/editor configuration.

1. Ensure Xdebug port is set to 9000

2. Set path mapping

Phpstorm Xdebug Docker

Create a new PHP server and set a path mapping. This tutorial assumes your local Devilbox projectsto be in ./data/www of the Devilbox git directory:

Important

Recall the path settings from the Assumption section and adjust if your configuration differs!

3. Ensure DBGp proxy settings are configured

Note

The following example show how to configure PHP Xdebug for PHP 5.6:

Create an xdebug.ini file (must end by .ini):

Copy/paste all of the following lines into the above created xdebug.ini file:

Important

Ensure you have retrieved the correct DockerNAT IP address as stated in the prerequisites section above!

Xdebug For Phpstorm

Note

Host os and editor specific settings are highlighted in yellow and are worth googling to get a better understanding of the tools you use and to be more efficient at troubleshooting.

Restarting the Devilbox is important in order for it to read the new PHP settings.Note that the following example only starts up PHP, HTTPD and Bind.

Phpstorm Xdebug Waiting For Connection

See also

Phpstorm Xdebug Docker Cli

Stop and Restart (Why do docker-composerm?)