1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

xdebugをdocker-composeでpeclではなくgitでインストールするサンプル

Posted at

背景

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を指定しています

これで安定してビルドが通るようになるのではと期待しています
もしまた問題が発生したら、こちらに対応策を追記予定です

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?