PHP-8.4 with all primary needed PHP extension needed to run latest Laravel-12,Symfony-6.4, WordPress
758
# ======================================================
# PHP 8.4 + Full Extension Stack (Alpine)
# ======================================================
FROM php:8.4-fpm-alpine
# ---------- Install all required system libraries ----------
RUN apk add --no-cache \
bash bash-completion git curl curl-dev zip unzip \
libpng-dev libjpeg-turbo-dev libwebp-dev freetype-dev libzip-dev \
libxml2-dev oniguruma-dev icu-dev postgresql-dev libpq \
readline-dev ncurses-dev openssl-dev libsodium-dev rabbitmq-c-dev \
imagemagick-dev pkgconfig libtool make autoconf g++ build-base zlib-dev \
bash-completion strace vim less
# ---------- Install Composer ----------
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# ---------- Configure & install GD ----------
RUN docker-php-ext-configure gd \
--with-freetype=/usr/include/ \
--with-jpeg=/usr/include/ \
--with-webp=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
# ---------- Configure & install intl ----------
RUN docker-php-ext-configure intl \
&& docker-php-ext-install intl
# ---------- Configure & install zip ----------
RUN docker-php-ext-configure zip \
&& docker-php-ext-install zip
# ---------- Install curl separately ----------
RUN docker-php-ext-install curl
# ---------- Install other core PHP extensions ----------
# RUN docker-php-ext-install -j$(nproc) readline # Show install error on alpine
# RUN docker-php-ext-install -j$(nproc) tokenizer
# RUN docker-php-ext-install -j$(nproc) dom
RUN docker-php-ext-install -j$(nproc) mbstring
RUN docker-php-ext-install -j$(nproc) pdo
RUN docker-php-ext-install -j$(nproc) pdo_mysql
RUN docker-php-ext-install -j$(nproc) simplexml
RUN docker-php-ext-install -j$(nproc) xml
RUN docker-php-ext-install -j$(nproc) fileinfo
RUN docker-php-ext-install -j$(nproc) opcache
RUN docker-php-ext-install -j$(nproc) bcmath
RUN docker-php-ext-install -j$(nproc) mysqli
RUN docker-php-ext-install -j$(nproc) exif
RUN docker-php-ext-install -j$(nproc) pdo_pgsql
# ---------- PECL extensions ----------
RUN pecl install redis amqp imagick \
&& docker-php-ext-enable redis amqp imagick
# ---------- Enable sodium ----------
RUN docker-php-ext-enable sodium
# ---------- PHP configuration ----------
COPY php.ini /usr/local/etc/php/conf.d/custom.ini
# ---------- Web root ----------
COPY ./src /var/www/html
WORKDIR /var/www/html
RUN chown -R www-data:www-data /var/www/html
# ---------- Expose port ----------
EXPOSE 9000
# ---------- Start PHP-FPM ----------
CMD ["php-fpm"]
## =========================================================
## =================== Important Comamnd ===================
## docker ps
## docker stop 0fca2e4b1dc5
## docker container prune
## docker stop $(docker ps -q)
## docker build --progress=plain -t php84:latest .
## docker run -d -p 8080:80 php84:latest
## docker login
## docker tag php84:latest shohidulislam/php84:latest
## docker images
## docker push shohidulislam/php84:latest
## docker logout
Content type
Image
Digest
sha256:8c3009341…
Size
313.9 MB
Last updated
12 months ago
docker pull shohidulislam/php84