diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e47eb26bbd56f0f88f91f834891a1a390a214686..d8d749fcfa8eb4bb9140e4e2aee0d0336c1ae363 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -143,6 +143,24 @@ build-debian-wp-org-deploy-build-dev:
   except:
     - master
 
+# PHP 8.4
+build-php-8.4-master:
+  stage: deploy
+  script:
+    - docker build --pull -t "$CI_REGISTRY_IMAGE/php:8.4" ./php/8.4
+    - docker push "$CI_REGISTRY_IMAGE/php:8.4"
+  only:
+    - master
+  when: manual
+
+build-php-8.4-dev:
+  stage: deploy
+  script:
+    - docker build --pull -t "$CI_REGISTRY_IMAGE/php:8.4-dev" ./php/8.4
+    - docker push "$CI_REGISTRY_IMAGE/php:8.4-dev"
+  except:
+    - master
+
 # PHP 8.3
 build-php-8.3-master:
   stage: deploy
diff --git a/php/8.4/Dockerfile b/php/8.4/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..2d2d4b3c73a6ab2a39be62a02b44f07f6a04af90
--- /dev/null
+++ b/php/8.4/Dockerfile
@@ -0,0 +1,46 @@
+FROM php:8.4-bullseye
+
+LABEL maintainer="ethitter"
+LABEL version="1.0"
+
+RUN apt-get update \
+    && apt-get -yqqf install \
+      lsb-release \
+      zip \
+      unzip \
+      rsync \
+      subversion \
+      git \
+      libicu-dev \
+      libpng-dev \
+      libbz2-dev \
+      default-libmysqlclient-dev \
+      libzip-dev \
+      libonig-dev \
+      --fix-missing \
+      --no-install-recommends \
+    && apt-get clean \
+    && rm -rf /var/lib/apt/lists/*
+
+RUN docker-php-ext-install \
+      mbstring \
+      mysqli \
+      intl \
+      gd \
+      zip \
+      bz2 \
+    && pecl install xdebug \
+    && php -m
+
+ENV NVM_DIR /usr/local/nvm
+
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
+    && chmod +x /usr/local/bin/composer \
+    && composer --version \
+    && mkdir $NVM_DIR \
+    && curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
+    && . $NVM_DIR/nvm.sh \
+    && nvm --version
+
+ENV PATH=/root/.composer/vendor/bin:$HOME/.composer/vendor/bin:$PATH