背景
PHPの環境をdocker-composeを利用して立ち上げる際に
デバッグ作業としてxdebugを用いていたのですが
RUN pecl install xdebug-3.2.0 && docker-php-ext-enable xdebug
上記のようなコマンドを記載しても、peclサーバーにアクセスできなかったり
アクセスできても何故かxdebugがリポジトリに見つからないというエラーが多発していました。
この厄介なところはたまに上手くいくということで、今まで解決法の模索を放置していたのですが。
ChartGPT4と相談して対応策が見つかったので共有したいと思います
解決策
解決策としてはgitから直接xdebugのソースをダウンロードしてビルドし
稼働するやり方でした。
下記がサンプルになります
# ベースイメージの指定
FROM php:8.1-apache
# 必要なパッケージのインストール
RUN apt-get update && \
apt-get install -y --no-install-recommends \
git \
zlib1g-dev \
libzip-dev \
unzip && \
docker-php-ext-install zip
# Xdebugのインストール
RUN git clone https://github.com/xdebug/xdebug.git \
&& cd xdebug \
&& git checkout xdebug_3_2 \
&& phpize \
&& ./configure \
&& make \
&& make install
# Xdebugを有効にする
RUN echo 'zend_extension=xdebug.so' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
# Apacheの設定
RUN a2enmod rewrite
# 必要に応じて他の設定を追加
...
git cloneの部分がそうですね。
php8.1を利用したいので、バージョンは3.2を指定しています
これで安定してビルドが通るようになるのではと期待しています
もしまた問題が発生したら、こちらに対応策を追記予定です