LaradockとPhpstormでリモートデバックする方法
Phpstorm&PHP初心者ですが、リモートデバックが上手くいかず時間がかかりました。 次回の為のメモです。
Laradocの設定を変更
①.env
WORKSPACE_INSTALL_XDEBUG=true PHP_FOM_INSTALL_XDEBUG=true
②laradock/workspace/xdebug.ini
xdebug.remote_host=docker.for.mac.localhost xdebug.remote_connect_back=0 xdebug.remote_port=9001 xdebug.idekey=PHPSTORM xdebug.remote_autostart=1 xdebug.remote_enable=1 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
③laradock/php-fpm/xdebug.ini
xdebug.remote_host=docker.for.mac.localhost xdebug.remote_connect_back=0 xdebug.remote_port=9001 xdebug.idekey=PHPSTORM xdebug.remote_autostart=1 xdebug.remote_enable=1 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
④ laradock/workspace/crontab/laradock
コメントアウトする。
# * * * * * laradock php /var/www/artisan schedule:run >> /dev/null 2>&1
⑤laradock/php-fpm/Dockerfile
これはリモートデバックとは直接関係ないが、dockerイメージを再構築する際にエラーがでることがあるので変更しておく。
###########################################################################
# ImageMagick:
###########################################################################
USER root
ARG INSTALL_IMAGEMAGICK=false
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
    rm -rf /var/lib/apt/lists/* && \
    apt-get update && \
    apt-get install -y libmagickwand-dev imagemagick && \
    pecl install imagick && \
    docker-php-ext-enable imagick \
;fi
⑥
dockerイメージを再構築。
docker-compose up -d --build nginx mysql workspace
⑦Phpstormの設定
Preferences > Languages & Frameworks > PHP > Debug >

| 項目 | 設定内容 | 
|---|---|
| Name | 任意 | 
| Host | localhost | 
| Port | 80 | 
| Debugger | Xdebug | 
| User path mapping | チェックする | 
| File/Directory | Laravelプロジェクトのフォルダ | 
| Absolute path on the server | /var/www | 
Preferences > Languages & Frameworks > PHP > xdebug

| 項目 | 設定内容 | 
|---|---|
| Debug port: | 9001 | 
ブレイクポイントを設定
画面右上の「虫マーク」を押して、ブレイクポイントを設定する。

⑧コードを実行
ブレイクポイントを設定したコードが実行されるようにブラウザでアクセスする。
参考
以下がすごく参考になりました。 Laradock+PhpStormでXdebug - けけずんセルフハッキング