PHPのバージョン別のDockerfile:バージョン202104
対応概要
ローカル開発環境用で作成したdocker-composeの改善のためにエラーの対応やintlモジュールを追加するためにphp-fpm用のDockefileを修正したので、まとめてみました。
dockerfile
php:7.1-fpm
使用しているphp-fpmのベースにあるOSがバージョンアップされた影響で7.1をサポートしてないxdebugのバージョンがインストールされるのが原因でした。
FROM php:7.1-fpm RUN apt-get update RUN apt-get install -y wget libjpeg-dev libfreetype6-dev unzip RUN apt-get install -y gcc make libjpeg-dev zlib1g-dev mariadb-client libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libzip-dev libwebp-dev \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-webp-dir=/usr/include/ \ && docker-php-ext-configure intl \ && docker-php-ext-install -j$(nproc) gd zip mysqli pdo_mysql bcmath exif intl RUN pecl install xdebug-2.9.0 \ && docker-php-ext-enable xdebug exif #Composer install COPY --from=composer /usr/bin/composer /usr/bin/composer COPY php.ini /usr/local/etc/php/ ENV COMPOSER_ALLOW_SUPERUSER 1 ENV COMPOSER_HOME /composer ENV PATH $PATH:/composer/vendor/bin
php:7.2-fpm
FROM php:7.2-fpm RUN apt-get update RUN apt-get install -y gcc make libjpeg-dev zlib1g-dev mariadb-client libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libzip-dev unzip libwebp-dev \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-webp-dir=/usr/include/ \ && docker-php-ext-configure intl \ && docker-php-ext-install -j$(nproc) gd zip mysqli pdo_mysql bcmath exif intl RUN pecl install xdebug \ && docker-php-ext-enable xdebug exif #Composer install COPY --from=composer /usr/bin/composer /usr/bin/composer COPY php.ini /usr/local/etc/php/ ENV COMPOSER_ALLOW_SUPERUSER 1 ENV COMPOSER_HOME /composer ENV PATH $PATH:/composer/vendor/bin
php:7.3-fpm
FROM php:7.3-fpm RUN apt-get update RUN apt-get install -y gcc make libjpeg-dev zlib1g-dev mariadb-client libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libzip-dev unzip libwebp-dev \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-webp-dir=/usr/include/ \ && docker-php-ext-configure intl \ && docker-php-ext-install -j$(nproc) gd zip mysqli pdo_mysql bcmath exif intl RUN pecl install xdebug \ && docker-php-ext-enable xdebug exif #Composer install COPY --from=composer /usr/bin/composer /usr/bin/composer COPY php.ini /usr/local/etc/php/ ENV COMPOSER_ALLOW_SUPERUSER 1 ENV COMPOSER_HOME /composer ENV PATH $PATH:/composer/vendor/bin
php:7.4-fpm
FROM php:7.4-fpm RUN apt-get update \ && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev zlib1g-dev libicu-dev g++ zip libzip-dev unzip libonig-dev libwebp-dev \ && docker-php-ext-configure gd --with-freetype --with-webp --with-jpeg \ && docker-php-ext-configure intl \ && docker-php-ext-install gd pdo_mysql mysqli mbstring iconv opcache exif intl RUN pecl install xdebug grpc \ && docker-php-ext-enable xdebug exif #Composer install COPY --from=composer /usr/bin/composer /usr/bin/composer COPY php.ini /usr/local/etc/php/ ENV COMPOSER_ALLOW_SUPERUSER 1 ENV COMPOSER_HOME /composer ENV PATH $PATH:/composer/vendor/bin