PHP, Docker, PHPStormでXDebug3を使えるようにする

カテゴリ: 未分類

Dockerfile

Dockerfileを作成する。docker-php-ext-enable xdebugを実行することで、xdebugが有効化されてコンテナ内にiniファイルが作成される。

FROM php:7.4-apache

RUN pecl install xdebug && \
    docker-php-ext-enable xdebug

WORKDIR /var/www

php.ini

[Date]
date.timezone = "Asia/Tokyo"

[mbstring]
mbstring.internal_encoding = "UTF-8"
mbstring.language = "Japanese"

[xdebug]
# for XDebug2
#xdebug.remote_enable=1
#xdebug.remote_autostart=1
#xdebug.remote_host=host.docker.internal
#xdebug.remote_port=9000
#xdebug.remote_log=/tmp/xdebug.log

# for XDebug3
xdebug.client_host = host.docker.internal
xdebug.client_port = 9003
xdebug.idekey = PHPSTORM
xdebug.mode = debug

確認

コンテナに入って、dockerの中で確認する。

docker-compose exec app bash

バージョンの確認

php --version

PHP 7.4.13 (cli) (built: Dec 11 2020 08:24:16) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans

設定ファイルの場所を確認

php -m | grep Xdebug
Xdebug

php -i | fgrep xdebug.ini
/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini,

php -i | fgrep 'Loaded Configuration File'
Loaded Configuration File => /usr/local/etc/php/php.ini

PHPStormで設定

  • preferenceを開く cmd+,

  • メニューから選択 PHP > Debug

    • ポートを確認
  • メニューから選択 Build,Execution,Deployment > Docker

    • Docker for Macの定義があることを確認
  • メニューから選択 PHP > Server

    • Dockerの定義があることを確認
  • メニューから選択 PHP

    • インタープリタの横の"..."をクリック
    • "+"をクリック
    • From Docker
      • Docker Composeを選択
      • ServerをDockerのサーバを選択する
      • serviceをphpが動作しているコンテナ名にする
      • PHPとDebuggerのバージョンが合っていることを確認
  • メニューから選択 PHP > Test Frameworks

    • "+"をクリックして、"PHPUnit By Remote Interpreter”を選択
    • Interpreterを設定したものに指定する
    • PHPUnitのバージョンが表示されることを確認
  • メニューから選択 Run -> Edit Configurations

    • "+"をクリックして、"PHP Remote Debug”を選択

参考資料


Amazonでおトクに買い物する方法
AmazonチャージでポイントGET


Amazonは買いもの前にAmazonギフト券をチャージしてポイントをゲットしないと損!

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。

test