PHP 8.4.5: Downloads, Changelog, News

Release Information

Release
8.4.5
PHP Version
PHP 8.4
Release Date
Release Type
Security Update
Release Status
Latest
Branch Status
Supported (Latest)

Latest PHP release in the latest version. This release contains security fixes, and it is recommended to update as soon as possible.
PHP 8.4 continues to receive bug fixes and security fixes until 2026-12-31.

Downloads

Source Code

Git Clone
Use Git to clone the 8.4.5 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.4.5
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.5-cli-alpine

Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.4.5-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.5-fpm-alpine

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.4.5-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.5-fpm

ChangeLog

BCMath

  • Fixed bug GH-17398 (bcmul memory leak).

Core

  • Fixed bug GH-17623 (Broken stack overflow detection for variable compilation).
  • Fixed bug GH-17618 (UnhandledMatchError does not take zend.exception_ignore_args=1 into account).
  • Fix fallback paths in fastlong{add,sub}_function.
  • Fixed bug OSS-Fuzz #391975641 (Crash when accessing property backing value by reference).
  • Fixed bug GH-17718 (Calling static methods on an interface that has __callStatic is allowed).
  • Fixed bug GH-17713 (ReflectionProperty::getRawValue() and related methods may call hooks of overridden properties).
  • Fixed bug GH-17916 (Final abstract properties should error).
  • Fixed bug GH-17866 (zend_mm_heap corrupted error after upgrading from 8.4.3 to 8.4.4).
  • Fixed GHSA-rwp7-7vc6-8477 (Reference counting in php_request_shutdown causes Use-After-Free). (CVE-2024-11235)

DOM

  • Fixed bug GH-17609 (Typo in error message: Dom\NO_DEFAULT_NS instead of Dom\HTML_NO_DEFAULT_NS).
  • Fixed bug GH-17802 (\Dom\HTMLDocument querySelector attribute name is case sensitive in HTML).
  • Fixed bug GH-17847 (xinclude destroys live node).
  • Fix using Dom\Node with Dom\XPath callbacks.

FFI

  • Fix FFI Parsing of Pointer Declaration Lists.

FPM

  • Fixed bug GH-17643 (FPM with httpd ProxyPass encoded PATH_INFO env).

GD

  • Fixed bug GH-17703 (imagescale with both width and height negative values triggers only an Exception on width).
  • Fixed bug GH-17772 (imagepalettetotruecolor crash with memory_limit=2M).

LDAP

  • Fixed bug GH-17704 (ldap_search fails when $attributes contains a non-packed array with numerical keys).

LibXML

MBString

  • Fixed bug GH-17503 (Undefined float conversion in mb_convert_variables).

Opcache

  • Fixed bug GH-17654 (Multiple classes using same trait causes function JIT crash).
  • Fixed bug GH-17577 (JIT packed type guard crash).
  • Fixed bug GH-17747 (Exception on reading property in register-based FETCH_OBJ_R breaks JIT).
  • Fixed bug GH-17715 (Null pointer deref in observer API when calling cases() method on preloaded enum).
  • Fixed bug GH-17868 (Cannot allocate memory with tracing JIT on 8.4.4).

PDO_SQLite

  • Fixed GH-17837 ()::getColumnMeta() on unexecuted statement segfaults).
  • Fix cycle leak in sqlite3 setAuthorizer().
  • Fix memory leaks in pdo_sqlite callback registration.

Phar

  • Fixed bug GH-17808: PharFileInfo refcount bug.

PHPDBG

  • Partially fixed bug GH-17387 (Trivial crash in phpdbg lexer).
  • Fix memory leak in phpdbg calling registered function.

Reflection

  • Fixed bug GH-15902 (Core dumped in ext/reflection/php_reflection.c).
  • Fixed missing final and abstract flags when dumping properties.

Standard

  • Fixed bug #72666 (stat cache clearing inconsistent between file:// paths and plain paths).

Streams

Windows

  • Fixed phpize for Windows 11 (24H2).
  • Fixed GH-17855 (CURL_STATICLIB flag set even if linked with shared lib).

Zlib

  • Fixed bug GH-17745 (zlib extension incorrectly handles object arguments).
  • Fix memory leak when encoding check fails.
  • Fix zlib support for large files.

Commit List

Arnaud Le Blanc

  • Fix ReflectionProperty::getRawValue() and related methods for properties overridden with hooks in 24b191a4de

Bob Weinand

Christoph M. Becker

Daniel Scherzer

  • Reflection: show the type of object constants used as default properties in ca0414e64d
  • Fix GH-17916: Final abstract properties should error in c0857e0d8a
  • Reflection: indicate final and abstract properties in string output in 81f143e71f

David Carlier

David Zhong

  • Fix FFI Parsing of Pointer Declaration Lists in GH-17794

Dmitry Stogov

Ilija Tovilo

  • Fix stack overflow detection for variable compilation in 333f5dd848
  • Fix segfault when assigning to backing value by-ref from hook in ab6977d36c
  • Add CONFLICT all to random port test in 726cf51236
  • Fix curl protocols test expectation in 5b87faaaa7
  • Use-after-free for ??= due to incorrect live-range calculation in 29dd6eb307
  • Fix varying pgsql error message in 115a918790

Jakub Zelenka

Michael Orlitzky

ndossche

Niels Dossche

Remi Collet

Saki Takamachi

Shivam Mathur

  • ci: add workflow to trigger windows builds in f4aadb5537

Tim Düsterhus

  • zend_execute: Suppress values in UnhandledMatchError for zend.exception_ignore_args=1 in GH-17619
  • Disallow calls to abstract __call() / __callStatic() in GH-17719
  • Free the trampoline when deprecation on materializing __callStatic() of trait throws in GH-17729
  • Fix GHSA-p3x9-6h7p-cgfc: libxml streams wrong content-type on redirect in e22b3a3708
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 💜