Skip to content

Latest commit

 

History

History
58 lines (42 loc) · 2.7 KB

xdebug.md

File metadata and controls

58 lines (42 loc) · 2.7 KB

Xdebug

This document describing how you can use Xdebug and PhpStorm within DEV environment.

Configuration and usage

Please follow PhpStorm documentation before actions described bellow.

PhpStorm basic configuration

1.Check /docker/dev/xdebug-main.ini or /docker/dev/xdebug-osx.ini (optional)

  • In case you need debug only requests with IDE KEY: PHPSTORM from frontend in your browser:
xdebug.start_with_request = no

Install locally in Firefox extension "Xdebug helper" and set in settings IDE KEY: PHPSTORM

  • In case you need debug any request to an api (by default):
xdebug.start_with_request = yes

2.Go to Settings -> Php -> Debug and set Xdebug port 10000

3.Check your Run/Debug Configurations as on image bellow

4.Install needed browser extensions (optional, see step 1). For example for Firefox install extension "Xdebug helper" and set in extension settings IDE KEY: PHPSTORM

Basic configuration

Basic configuration

Using Xdebug

After actions above you can start to listen incoming PHP debug connections:

  1. Add breakpoint to your code
  2. Enable Xdebug in your browser (optional, required only when xdebug.start_with_request = no)
  3. Click Debug button in PhpStorm
  4. Reload browser page

If everything configured properly you will get something like next:

Using Xdebug

Debug Postman requests

If you're using Postman to test/debug your application when xdebug.start_with_request = no you need to add ?XDEBUG_SESSION_START=PHPSTORM to each URL that you use with Postman. If you have default configuration (xdebug.start_with_request = yes) - nothing to do and your Xdebug should work out of the box.

Debug Console commands

If you want to debug console commands you just need to uncomment/edit (nothing to do in case MacOS and XDEBUG_CONFIG=osx) option xdebug.client_host in config docker/dev/xdebug-main.ini:

xdebug.client_host=172.17.0.1

Just find out the proper host ip in your docker bridge configuration and set above option (in general it is 172.17.0.1). Don't forget to rebuild docker containers according to general documentation.

External documentations