のぐそんブログ

暗いおじさんがシコシコ書くブログです。

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 >

f:id:nogson2:20190602233224p:plain

項目 設定内容
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

f:id:nogson2:20190602233713p:plain

項目 設定内容
Debug port: 9001
ブレイクポイントを設定

画面右上の「虫マーク」を押して、ブレイクポイントを設定する。

f:id:nogson2:20190602234044p:plain

⑧コードを実行

ブレイクポイントを設定したコードが実行されるようにブラウザでアクセスする。

参考

以下がすごく参考になりました。 Laradock+PhpStormでXdebug - けけずんセルフハッキング