I will setup a very simple php page and debug it using xdebug and PhpStorm.
Source files can be found here:

1. Create "Dockerfile" file in "docker" folder:

Execute this command from docker folder to build image:
docker build -t php-xdebug-custom -f Dockerfile .

2. Create docker-compose.yml file in "docker" folder:

Here I use "
php-xdebug-custom
" image instead of "
php:7.2-fpm
"

3. Modify php.ini file with xdebug settings:

4. Configure server in PhpStorm:

File -> Settings -> Languages & Frameworks -> PHP -> Servers
Add a new server using + icon, and configure like on the following screenshot:
Make sure to check "Use path mappings" and map php folder to "
/var/www/myapp
"

5. Configure PHP remote debugger in PhpStorm:

Run -> Edit configurations -> PHP Remote Debug
Add a new configuration and give it values like on the following screenshot:

6. Select debug configuration in PhpStorm debug panel

7. Go to /var/www/docker-study.loc/recipe-09/docker/ and execute:

docker-compose up -d
If I now try
myapp.loc/
in browser, I will see results from index.php file.
I can set a breakpoint, start listening for connections in PhpStorm debug panel, and reload page.
Happy debugging!