Docker で Laravel の開発環境を作りたい 3 PhpStormでデバッグできるまで

以下の続き vtorica.hatenablog.com

Dockerfile 前回からの改良

  • xdebugのバージョン指定
    • PECLPHPのバージョンに対応するモジュールのバージョンを取得するわけではないため明示する
  • docker-php-ext-enableの実行
    • extentionがインストールされたフルパスを取得して、conf.d/ にdocker-php-ext-xdebug.ini を作成してくれる
  • docker-php-ext-xdebug.iniへリモートデバッグの設定を追記する

参考: https://github.com/docker-library/docs/blob/master/php/README.md

# 元となるイメージを指定
FROM php:7.2-apache

# イメージを作る際に実行するコマンド
RUN apt-get update
RUN apt-get install -y vim

# php.iniが無いため、コピーして作成する
RUN cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini

# xdebugをインストールする
RUN pecl install xdebug-2.6.1 \
    && docker-php-ext-enable xdebug
RUN echo xdebug.remote_enable=1 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo xdebug.remote_autostart=1 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo xdebug.remote_host=192.168.0.202 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini  # ホストのIPを設定
RUN echo xdebug.remote_log=/tmp/xdebug.log >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini

PhpStormでデバッグ

  • PhpStorm上の電話アイコンを押してデバッグを開始する (メニューからはRun -> Start Listening for PHP Debug Connections)
  • ブラウザでPHPファイルにアクセスする
  • XdebugとPhpStormが接続される

次は

  • composerのインストール
  • Laravelに必要なextentionの確認とインストール