Files
wordpress-stack/php/Dockerfile-OLD2
2026-04-05 16:23:17 +00:00

149 lines
3.1 KiB
Plaintext

ARG PHP_VERSION=latest
FROM php:${PHP_VERSION}-fpm
RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
libfreetype6-dev \
libpng-dev \
libwebp-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libzip-dev \
libxml2-dev \
zip \
git \
default-mysql-client \
zlib1g-dev \
libicu-dev \
g++ \
redis-tools \
libmagickwand-dev \
msmtp \
libssl-dev \
#pxmlhp8.0-mbstring \
#php8.0-xml \
&& apt-get autoremove \
&& apt-get clean \
&& rm -r /var/lib/apt/lists/*
# INSTALL PLUGIN: opcache, gd, zip, mysqli, pdo, pdo_mysql, exif
RUN docker-php-ext-install \
opcache \
zip \
mysqli \
pdo \
pdo_mysql \
exif \
soap
RUN docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \
&& docker-php-ext-install gd
RUN apt-get update && apt-get install -y --no-install-recommends libgmp-dev \
&& docker-php-ext-install gmp \
&& rm -rf /var/lib/apt/lists/*
#RUN pecl install igbinary && docker-php-ext-enable igbinary
#RUN apt-get update && apt-get install -y --no-install-recommends $PHPIZE_DEPS \
# && pecl install igbinary \
# && docker-php-ext-enable igbinary \
# && rm -rf /var/lib/apt/lists/*
# INSTALL PLUGIN: intl
RUN docker-php-ext-configure intl \
&& docker-php-ext-install intl
# INSTALL PLUGIN: imagick
RUN pecl install imagick \
&& docker-php-ext-enable imagick
# INSTALL PLUGIN: shmop
RUN docker-php-ext-install shmop
# Build deps for PECL extensions
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
autoconf \
g++ \
make \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
# Install igbinary first, enable it, then build phpredis WITH igbinary
RUN pecl install igbinary \
&& docker-php-ext-enable igbinary \
&& pecl download redis \
&& tar -xf redis-*.tgz \
&& rm redis-*.tgz \
&& cd redis-* \
&& phpize \
&& ./configure --enable-redis-igbinary \
&& make -j"$(nproc)" \
&& make install \
&& docker-php-ext-enable redis \
&& cd / \
&& rm -rf redis-*
# INSTALL PLUGIN: redis
#RUN pecl install -o -f redis \
# && rm -rf /tmp/pear \
# && docker-php-ext-enable redis
# INSTALL FTP
#RUN docker-php-ext-configure ftp --with-openssl-dir=/usr \
# && docker-php-ext-install ftp
# INSTALL PLUGIN: imagick
#RUN pecl install imagick \
# && docker-php-ext-enable imagick
# INSTALL PLUGIN: shmop
#RUN docker-php-ext-install shmop
# INSTALL MMTP
COPY msmtprc.template /etc/
# COPY PHP config
COPY mail.ini \
opcache.ini \
upload.ini \
memory.ini \
zz-redis-serializer.ini \
/usr/local/etc/php/conf.d/
COPY prepend-wp-redis.php \
/usr/local/etc/php/
# COPY PHP-FPM config
#COPY php-fpm/www.conf \
# php-fpm/www.conf.default \
# /usr/local/etc/php-fpm.d/www.conf.default
COPY php-fpm/www.conf \
php-fpm/www.conf.default \
/usr/local/etc/php-fpm.d/
# COPY MYSQL config
COPY mysql.ini /usr/local/etc/php/conf.d/mysql.ini
# INSTALL SSHSERVER
#RUN apt-get update \
# && apt install openssh-server
# SET WORKDIR
WORKDIR /var/www/html
COPY msmtprc.template /etc/msmtprc.template
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["php-fpm"]