PHP 8.4.2: Downloads, Changelog, News

Release Information

Release
8.4.2
PHP Version
PHP 8.4
Release Date
Release Type
Security Update
Release Status
Latest
Branch Status
Upcoming Release

PHP 8.4 is a development version, and is not recommended for production use. PHP 8.4 is scheduled to reach General Availability on 2024-11-21.This is the latest release.
PHP 8.4.2 is the latest QA in PHP 8.4.

Downloads

Source Code

Git Clone
Use Git to clone the 8.4.2 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.4.2
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (./buildconf), configuring the build ./configure, and running make.
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.

Windows binaries

Non-Thread Safe Builds
Non-Thread Safe (NTS) builds are single-threaded PHP builds. They can be used on web servers that integrate PHP over FastCGI protocol, such as Nginx, Caddy, and IIS.
Thread-Safe Builds
Thread-Safe (TS) builds are multi-thread PHP builds, often used to integrate PHP as a Server API for multithreaded servers. The most common use case is using PHP as an Apache module.

Docker/Podman Containers

PHP CLI
PHP CLI Containers images only include the PHP CLI, and no FPM or Apache modules. The Alpine builds are lightweight, but may introduce incompatibilities due to their musl builds. Albeit their larger size, the Debian-based (without the "-alpine" suffix) images are more complete, and widely used.

Alpine-based: Lightweight, but may introduce incompatibilities due to their musl builds.
docker pull php:8.4.2-cli-alpine

Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.4.2-cli
PHP CLI + Web Server Integration
These container images include PHP CLI, and a web server integration. FPM container images can be integrated with web servers such as Nginx, Caddy, and Apache with Event MPM. The Apache container images include Apache web server, integrating PHP as an Apache module.

Alpine-based: Lightweight, but may introduce incompatibilities due to their musl builds.
docker pull php:8.4.2-fpm-alpine

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.4.2-apache

Debian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
docker pull php:8.4.2-fpm

ChangeLog

BcMath

  • Fixed bug GH-16978 (Avoid unnecessary padding with leading zeros).

COM

  • Fixed bug GH-16991 (Getting typeinfo of non DISPATCH variant segfaults).

Core

  • Fixed bug GH-16344 (setRawValueWithoutLazyInitialization() and skipLazyInitialization() may change initialized proxy).
  • Fix is_zend_ptr() huge block comparison.
  • Fixed potential OOB read in zend_dirname() on Windows.
  • Fixed bug GH-15964 (printf() can strip sign of -INF).

Curl

  • Fix various memory leaks in curl mime handling.

DBA

  • Fixed bug GH-16990 (dba_list() is now zero-indexed instead of using resource ids)

DOM

  • Fixed bug GH-16906 (Reloading document can cause UAF in iterator).

FPM

  • Fixed bug GH-16932 (wrong FPM status output).

GMP

  • Fixed bug GH-16890 (array_sum() with GMP can loose precision (LLP64)).

Opcache

  • Fixed bug GH-16851 (JIT_G(enabled) not set correctly on other threads).
  • Fixed bug GH-16902 (Set of opcache tests fail zts+aarch64).
  • Fixed bug GH-16879 (JIT dead code skipping does not update call_level).

SAPI

  • Fixed bug GH-16998 (UBSAN warning in rfc1867).

PHPDBG

  • Fixed bug GH-15208 (Segfault with breakpoint map and phpdbg_clear()).

Standard

  • Fixed bug GH-16905 (Internal iterator functions can't handle UNDEF properties).
  • Fixed bug GH-16957 (Assertion failure in array_shift with self-referencing array).

Streams

  • Fixed network connect poll interuption handling.

Windows

  • Fixed bug GH-16849 (Error dialog causes process to hang).
  • Windows Server 2025 is now properly reported.

Commit List

Arnaud Le Blanc

  • Fix setRawValueWithoutLazyInitialization() and skipLazyInitialization() on initialized proxy in c310be09ed

Ayesh Karunaratne

  • CI: FreeBSD on VM - set copyback: false in b263f351c4

Calvin Buckley

Christoph M. Becker

  • Skip file_put_contents_variation7.phpt on Windows in 3656a84c39
  • Revert "Merge branch 'PHP-8.3' into PHP-8.4" in 83ca37483c
  • Reapply "Merge branch 'PHP-8.3' into PHP-8.4" in da81b5c8d2
  • Fix GH-16890: array_sum() with GMP can loose precision (LLP64) in cfcf5cfde8
  • Fix potential conflict of copy_variation5-win32.phpt in 12ef3da381
  • Use another for bug51056.phpt in 0b5de3014a
  • Fix GH-16849: Error dialog causes process to hang in e75061b512
  • Fix GH-16991: Getting typeinfo of non DISPATCH variant segfaults in 9bae8933a3
  • Fix potential OOB read in zend_dirname() on Windows in 94fa2a4ce1

David Carlier

  • Revert "ext/gmp: gmp_pow fix FPE with large values." in 45140e527f
  • Revert "ext/gmp: gmp_pow fix FPE with large values." in 7e8d6f941c
  • Fix GH-16959: snmpget modifies the object_id (as array) in 73ebc92617

David Warner

  • Add Windows Server 2025 build number in f086eaa7b8

Derick Rethans

divinity76

Dmitry Stogov

Dylan K. Taylor

Ilija Tovilo

  • Move FreeBSD build to GitHub actions with QEMU in aca88baf5f
  • Enable -Werror for FreeBSD build in b3ab930a2f

Jakub Zelenka

Michael Orlitzky

Máté Kocsis

  • Fix the 1st parameter type casing of pg_set_chunked_rows_size() in 56fb910d9c
  • Fix some odbc_*() parameter types in 3c70f5e976
  • Fix GH-16990 "dba_list() is now zero-indexed instead of using resource ids" in 50264b03a0

Niels Dossche

Saki Takamachi

Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Wednesday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.

Support PHP.Watch — If you find the articles, version information, Codex, and other PHP.Watch contributions useful, consider supporting through GitHub Sponsors. Your sponsorship helps dedicate more time to creating valuable content and improving the PHP community. Together, we can keep the momentum going — thank you for your support!

Thanks to the highest tier sponsor: @TomasVotruba for your generous support to keep PHP.Watch moving 💜