おれんじぺこ

母、ときどきwebエンジニア

【Docker】PHP7.4だとxdebugのインストールがうまくいかない

PHP7.4だとxdebugのインストールがうまくいかない

php7.4-fpmコンテナにxdebugをインストールしようとしたのですが、インストールに失敗してbuildが完了しませんでした。
Dockerfileのビルドに失敗した時のエラーメッセージは以下の通りです。

pecl/xdebug requires PHP (version >= 8.0.0, version <= 8.3.99), installed version is 7.4.33
No valid packages found
install failed

pecl/xdebugは以下のPHPバージョン要件(バージョン8.0.0以上8.3.99以下)を必要としていますが、現在インストールされているPHPバージョンは7.4.33です。
有効なパッケージは見当たりません。
インストールに失敗しました。

つまり、PHPのバージョンとxdebugのバージョンが不一致ということみたいです。
そのため、PHP7.4のバージョンでインストールできるxdebugをインストールする必要があります。
どのPHPのバージョンにどのxdebugが対応しているかの対応表はこちらから確認できます。

xdebug.org

今回インストールしているPHPは7.4.33なので、xdebug3.0は対応しているようです。
そこで、Dockerfileのxdebugをインストールするコマンドを以下のように書き換えます。

RUN pecl install xdebug-3.0.4 \    
    && docker-php-ext-enable xdebug \    
    && mkdir -p /var/log/xdebug    

そして、docker-compose buildすると、無事ビルドが成功しました!