Sign inSign up

shohidulislam/php84

By shohidulislam

•Updated 12 months ago

PHP-8.4 with all primary needed PHP extension needed to run latest Laravel-12,Symfony-6.4, WordPress

Image
0

758

shohidulislam/php84 repository overview

# ======================================================
# 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

Tag summary

Content type

Image

Digest

sha256:8c3009341…

Size

313.9 MB

Last updated

12 months ago

docker pull shohidulislam/php84