FROM php:8.5-fpm-alpine
# 配置国内镜像
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 安装构建扩展相关依赖
RUN apk add --no-cache --update --virtual .build-deps $PHPIZE_DEPS
# MySQL
RUN docker-php-ext-install pdo_mysql mysqli \
&& docker-php-ext-enable pdo_mysql mysqli
# 常用扩展
RUN docker-php-ext-install pcntl exif bcmath sysvsem \
&& docker-php-ext-enable exif bcmath pcntl sysvsem
# apcu
RUN pecl install apcu && docker-php-ext-enable apcu
# zip扩展
RUN apk add --no-cache --update libzip=1.11.4-r1 libzip-dev=1.11.4-r1 unzip \
&& docker-php-ext-install zip \
&& docker-php-ext-enable zip
# redis
RUN pecl install https://pecl.php.net/get/redis \
&& docker-php-ext-enable redis
# intl
RUN apk add --no-cache --update icu icu-dev \
&& docker-php-ext-configure intl \
&& docker-php-ext-install intl \
&& docker-php-ext-enable intl
# imagick
RUN apk add --no-cache --update imagemagick-dev imagemagick-svg \
&& pecl install https://pecl.php.net/get/imagick \
&& docker-php-ext-enable imagick
# gd
RUN apk add --no-cache --update libpng libpng-dev libavif-dev libjpeg-turbo-dev freetype-dev freetype libjpeg-turbo libavif \
&& docker-php-ext-configure gd --with-freetype --with-jpeg --with-avif \
&& docker-php-ext-install gd \
&& docker-php-ext-enable gd
# igbinary 提高序列化性能
RUN pecl install igbinary \
&& docker-php-ext-enable igbinary
# WordPress建议
# 与 PHP 的日期和时间函数一起使用的时区数据库
RUN pecl install timezonedb
# wordpress建议安装
# Shmop 是一组易于使用的函数,允许 PHP 读取、写入、创建和删除 Unix 共享内存段。
RUN docker-php-ext-install shmop
# ffmpeg nextcloud需要视频转码时启用
# RUN apk add --no-cache ffmpeg
# gmp nextcloud使用加密时使用
# RUN apk add --no-cache --update gmp-dev \
# && docker-php-ext-install gmp \
# && docker-php-ext-enable gmp
# pgsql,如果需要使用postgreSQL数据库
# RUN apk add --no-cache --update libpq-dev postgresql-dev \
# && docker-php-ext-install pdo_pgsql \
# && docker-php-ext-enable pdo_pgsql
# 删除构建依赖
RUN apk del --no-network .build-deps
# 配置文件,默认未启用配置文件
RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
发表回复