Download, Build, and Run PHP 8.4 Alpha (8.4.0alpha1) on Linux, Windows, and Docker

This guide explains how to download, compile, and run the PHP 8.4 alpha (8.4.0alpha1) release on Linux, Windows, and Docker, and lists the new BCMath functions, core enhancements, and bug fixes included in this pre‑GA version.

Open Source Tech Hub
Open Source Tech Hub
Open Source Tech Hub
Download, Build, and Run PHP 8.4 Alpha (8.4.0alpha1) on Linux, Windows, and Docker

Overview

PHP 8.4 is the active development branch that introduces new features, major changes, and RFCs, targeting a full release in 2024. The first GA version is scheduled for 2024‑11‑21, and the branch is not yet GA‑ready for production.

Download

Official download directory: https://downloads.php.net/~saki/

Clone the 8.4.0alpha1 tag from the PHP source repository:

git clone https://github.com/php/php-src.git --depth 1 --branch php-8.4.0alpha1

Compilation

To build PHP from source, run the following steps:

Generate the configure script: ./buildconf Configure the build: ./configure Compile:

make

Windows binaries

Non‑Thread‑Safe (NTS) builds

NTS builds are single‑threaded and suitable for FastCGI servers such as Nginx, Caddy, or IIS.

https://windows.php.net/downloads/qa/php-8.4.0alpha1-nts-Win32-vs17-x64.zip

https://windows.php.net/downloads/qa/php-8.4.0alpha1-nts-Win32-vs17-x86.zip

Thread‑Safe (TS) builds

TS builds are multi‑threaded and typically used when PHP is loaded as an Apache module.

https://windows.php.net/downloads/qa/php-8.4.0alpha1-Win32-vs17-x64.zip

https://windows.php.net/downloads/qa/php-8.4.0alpha1-Win32-vs17-x86.zip

Docker / Podman containers

PHP CLI only

CLI‑only images are available for Alpine (lightweight, musl‑based) and Debian (full‑featured, more compatible).

Alpine: docker pull php:8.4.0alpha1-cli-alpine Debian:

docker pull php:8.4.0alpha1-cli

PHP CLI + Web server integration

Images that bundle PHP CLI with a web server (FPM or Apache) are provided.

Alpine FPM: docker pull php:8.4.0alpha1-fpm-alpine Debian ZTS Apache: docker pull php:8.4.0alpha1-apache Debian NTS FPM:

docker pull php:8.4.0alpha1-fpm

Change log

BCMath

New functions bcfloor, bcceil, and bcround added (RFC proposal).

Performance improvements.

Core

Added zend_call_stack_get implementation for NetBSD, DragonFlyBSD, Solaris, and Haiku.

Enabled ifunc checks on FreeBSD 12.x.

Changed types of PHP_DEBUG and PHP_ZTS constants to boolean.

Fixed GH‑13142 where variable names containing \0 were truncated.

Fixed GH‑13178 iterator position after converting packed arrays to hash arrays.

Fixed Solaris 32‑bit default mode zend fiber build.

Fixed zend call‑stack size on macOS/arm64.

Added support for Zend maximum execution timer on FreeBSD.

Ensured fiber stack is not affected by Transparent Huge Pages.

Implemented GH‑13609 dump of wrapped objects in WeakReference class.

Added SPARC64 assembly support for zend fiber.

Fixed GH‑13581 insufficient TLS space on NetBSD.

Added Sys‑V loongarch64 fiber support.

Adjusted closure names to include parent function name.

Improved randomness of uploaded file names created via tempnam().

Added GC and shutdown callbacks to custom zend_mm handlers.

Fixed GH‑14650 page‑size calculation before memory allocation.

Fixed GH‑11928 missing -g flag when enabling --enable-re2c-goto.

Introduced #[Deprecated] attribute.

Fixed GH‑11389 allowing fiber suspension in destructors.

DockerCompilationPHPWindowschangelogAlpha8.4
Open Source Tech Hub
Written by

Open Source Tech Hub

Sharing cutting-edge internet technologies and practical AI resources.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.