Emacs + Laradock + Xdebug PHPステップ実行設定
環境
Xdebug
- PHPをステップ実行したりブレーク貼ったりできる
有効化
- laradockではフラグひとつでxdebugが入る
laradock/.env
... WORKSPACE_INSTALL_XDEBUG=true ... PHP_FPM_INSTALL_XDEBUG=true ...
設定
xdebug.remote_host=host.docker.internal #xdebug.remote_connect_back=1 xdebug.remote_connect_back=0 #xdebug.remote_port=9000 xdebug.remote_port=9001 #xdebug.idekey=PHPSTORM #xdebug.remote_autostart=0 xdebug.remote_autostart=1 #xdebug.remote_enable=0 xdebug.remote_enable=1 #xdebug.cli_color=0 xdebug.cli_color=1 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling" xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 xdebug.var_display_max_depth=-1
- php-fpmコンテナ-nginxコンテナ間の疎通に9000番ポートを使うので、
他のポートを使用する- 今回は9001
host.docker.internal
でコンテナ内からホストにアクセスできる- 変更を反映
docker-compose build workspace php-fpm
docker-compose up -d workspace php-fpm nginx
xdebug.ini.tmpl
... xdebug.remote_port={{ var "XDEBUG_PORT" | "9000" }} ...
geben
導入
M-x package-install geben
つかう
- デフォルト設定では9000番ポートが使われる
- 今回は9001番を使うので設定が必要:
(setq geben-dbgp-default-port 9001)
M-x geben
http://localhost
にアクセスするとステップ実行が始まる!