PHP
PhpStorm
docker-for-mac
docker-for-windows

PHPStormでステップ実行(Docker For Mac(Windows)環境)

Docker For Mac(Windows)環境でPHPStormでステップ実行

↓の記事の補足になります。
参考:PHPStormでステップ実行(Docker Toolbox環境)
https://qiita.com/yKanazawa/items/0655db2a14b842f80e03

Docker Toolbox環境の場合は、PHP Stormに対するIPアドレスがデフォルトで192.168.99.100になりますが、Docker For Mac(windows)では127.0.0.1になってしまうため、コンテナ内から9000番ポートでアクセスできません。

ホストPCのIPアドレスを指定すれば通信できるのですが、大抵のPC環境では、DHCPで動的にIPアドレスが割り振られているでしょうから、毎回設定する必要があり、不便です。

この場合、以下のように設定すれば毎回設定しなくても通信できるようになります。

Docker for Windowsの場合

ipconfigコマンドで表示されたDockerNATのIPアドレスを指定します。

$ ipconfig

Windows IP 構成
…
イーサネット アダプター vEthernet (DockerNAT):

   接続固有の DNS サフィックス . . . . .:
   IPv4 アドレス . . . . . . . . . . . .: 10.0.75.1
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .:
…

※この場合は10.0.75.1をxdebug.iniに指定します。

[xdebug]
zend_extension="/usr/lib64/php/modules/xdebug.so"
xdebug.remote_enable = On
xdebug.remote_port = 9000
;xdebug.remote_autostart = On
xdebug.remote_host = 10.0.75.1
xdebug.profiler_output_dir = "/tmp"
xdebug.max_nesting_level= 1000
xdebug.idekey = "PHPSTORM"

Docker for Macの場合

ifconfigコマンドでlo0のエイリアスを追加します。

sudo ifconfig lo0 alias 10.0.75.1

※上記コマンドを実行すると、コンテナ内から10.0.75.1に9000番でアクセス可能になります。