PHP 8.4.9: Downloads, Changelog, News

Release Information

Release
8.4.9
PHP Version
PHP 8.4
Release Date
Release Type
Bug Fix Release
Release Status
Use PHP 8.4.10 instead
Branch Status
Supported (Latest)

PHP 8.4.9 is an old release of PHP 8.4 series. Using the latest version PHP 8.4.10 is highly recommended.
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.9 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.4.9
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.9-cli-alpine

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

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

Commit List

DanielEScherzer

Daniil Gentili

  • Do not delete main chunk in zend_gc in 9a9d98e02f

David Carlier

  • Fix GH-18617: socket_import_file_descriptor return check in c30bddc18f
  • ext/ldap: simplify ldap_connect() workflow, fix url leak in 5d4846b241
  • ext/tidy: anticipate tidyOptIsReadOnly retirement in e13ba36abb
  • ext/pdo_sqlite: createCollation memory leaks fix in 1044558b64

Dmitry Stogov

Gina Peter Banyard

  • ext/pgsql: Fix warning not being emittedd when failure to cancel a query in 40422e9c55
  • tests: Fix expectations in 7f2299c8eb

Jakub Zelenka

Máté Kocsis

Niels Dossche

  • Fix GH-18597: Heap-buffer-overflow in zend_alloc.c when assigning string with UTF-8 bytes in 40e667280b
  • Add missing filter cleanups on phar failure in 910aeaafc1
  • Fix memory leak in intl_datetime_decompose() in d6836fb345
  • Fix GH-18641: Accessing a BcMath\Number property by ref crashes in 64d511ef29
  • Fix memory leak when calloc() fails in php_readline_completion_cb() in c9781111e1
  • Fix memory leaks in php_http.c when call_user_function() fails in a44e3f442f
  • Fix leaks with multiple calls to DatePeriod iterator current() in ff2c7dc0f8
  • Fix memory leak in tidy output handler on error in b39e17b06c
  • Backport fix for GH-17687 in fab0a6d75c
  • Fix compile error for attribute in e4d2cd47c2
  • Temporarily drop attribute for fileinfo in 877663178c
  • Fix GH-18642: Signed integer overflow in ext/phar fseek in 61884c3b52
  • Fix ZEND_NONSTRING attribute for data_file.c in b8e734a24e
  • Update Lexbor patches for non-string attribute in 9e9db0b22f
  • Fix potential NULL deref in dd856d5ad9
  • Fix memory leak when curl_slist_append() fails in d9d991928f
  • Fix reference type confusion and leak in user random engine in 75cea65c99
  • Fix memory leak in lookup_loc_range() in d39d261b7e
  • Fix test failures in engine_unsafe_empty_string.phpt in GH-18727
  • Fix ext/enchant test SKIPIFs in 9187caeab1
  • Fix memory leak of X509_STORE in php_openssl_setup_verify() on failure in 08a9579883
  • Fix GH-18744: PHP 8.4 classList works not correctly if copy HTMLElement by clone keyword in 111072a9f0
  • Fix handling of references in zval_try_get_long() in 2b383848a7
  • Fix compile without ZEND_MM_STORAGE in 4162c20787
  • Fix memory leak on php_odbc_fetch_hash() failure in ef92e06de1
  • pdo_odbc: Fix memory leak if WideCharToMultiByte() fails in 786090b35d
  • Fix GH-18743: Incompatibility in Inline TLS Assembly on Alpine 3.22 in b3c8afe272
  • Fix test conflict between copy_variation2-win32-mb.phpt and copy_variation2-win32.phpt in 186a8116be
  • zend_alloc: Fix compile with ZEND_MM_STAT=0 in d11f9717fd
  • Fix technically incorrect sizeof in fe3bea090e
  • Fix 'phpdbg --help' segfault on shutdown with USE_ZEND_ALLOC=0 in 0cd3ebfc40
  • Fix GH-14551: PGO build fails with xxhash in afb1c57470

Nikita Popov

  • Fix line assignment in zend_ast_create_va() in d66e87b02e

Oleg Efimov

  • Fix GH-18695: float numbers zero fraction is now preserved in zend_ast_export() in GH-18699

Peter Kokot

  • Fix linking ext/curl against OpenSSL in GH-13262

Saki Takamachi

Tim Düsterhus

  • cli: Fix tests/bug80092.phpt expectation for PHP_BUILD_PROVIDER in GH-18824

txuna

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.