PHP 8.4.17: Downloads, Changelog, News

Release Information

Release
8.4.17
PHP Version
PHP 8.4
Release Date
Release Type
Security Update
Release Status
Latest Release in 8.4
Branch Status
Supported

Latest release for PHP 8.4. 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.17 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.4.17
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.
php-8.4.17-x64NTS.zip
Size: 32.31 MiB SHA256: c0dec956a5f1787c42f52ee410bacbf0ef091ca454eb42920ab7aab3d86234b0
php-8.4.17-x86NTS.zip
Size: 29.01 MiB SHA256: 253500d98b23e791aefbfaa5e0c8dc32fedf77967125a954fff92bf3cea2641f
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.
php-8.4.17-x64TS.zip
Size: 32.46 MiB SHA256: 4dff1a5739303a0bab9feb4a1065cc04435d94e3c023dc1b3de6ed6287b032e8
php-8.4.17-x86TS.zip
Size: 29.08 MiB SHA256: 582e15c954913a5bcdbdafeebf4085c408ef2153ee4d1861524ceef620efff58

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.17-cli-alpine

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

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

ChangeLog

Core

  • Fix OSS-Fuzz #465488618 (Wrong assumptions when dumping function signature with dynamic class const lookup default argument).
  • Fixed bug GH-20695 (Assertion failure in normalize_value() when parsing malformed INI input via parse_ini_string()).
  • Fixed bug GH-20714 (Uncatchable exception thrown in generator).
  • Fixed bug GH-20352 (UAF in php_output_handler_free via re-entrant ob_start() during error deactivation).

Bz2

  • Fixed bug GH-20620 (bzcompress overflow on large source size).

DOM

  • Fixed bug GH-20722 (Null pointer dereference in DOM namespace node cloning via clone on malformed objects).
  • Fixed bug GH-20444 (Dom\XMLDocument::C14N() seems broken compared to DOMDocument::C14N()).

GD

  • Fixed bug GH-20622 (imagestring/imagestringup overflow).

Intl

  • Fix leak in umsg_format_helper().

LDAP

  • Fix memory leak in ldap_set_options().

Mbstring

  • Fixed bug GH-20674 (mb_decode_mimeheader does not handle separator).

OpenSSL

  • Fixed bug GH-20802 (undefined behavior with invalid SNI_server_certs options).

PCNTL

  • Fixed bug with pcntl_getcpuaffinity() on solaris regarding invalid process ids handling.

Phar

  • Fixed bug GH-20732 (Phar::LoadPhar undefined behavior when reading fails).
  • Fix SplFileInfo::openFile() in write mode.
  • Fix build on legacy OpenSSL 1.1.0 systems.
  • Fixed bug #74154 (Phar extractTo creates empty files).

POSIX

  • Fixed crash on posix groups to php array creation on macos.

SPL

  • Fixed bug GH-20678 (resource created by GlobIterator crashes with fclose()).

Sqlite3

  • Fixed bug GH-20699 (SQLite3Result fetchArray return array|false, null returned).

Standard

  • Fix error check for proc_open() command.
  • Fix memory leak in mail() when header key is numeric.
  • Fixed bug GH-20582 (Heap Buffer Overflow in iptcembed).

Zlib

  • Fix OOB gzseek() causing assertion failure.

Commit List

Alexandre Daubois

  • Fix GH-20370: forbid user stream filters to violate typed property constraints in GH-20373

Arnaud Le Blanc

  • Fix zend_vm_gen.php when executed with PHP 8.5 in d3ef80649e

Calvin Buckley

  • Update versions for PHP 8.4.17 in 175a0f6ec0
  • Fix skipif for mkfifo usage in gh20582.phpt in 2eadc5c169

David Carlier

Dmitry Stogov

Gina Peter Banyard

  • ext/standard: Fix memory leak in mail() when header key is numeric in 20f9772063

Giovanni Giacobbi

  • Use EVP_MD_CTX_destroy() instead of EVP_MD_CTX_free() for compatibility and consistency in f89a3503bf
  • gen_stub: Fix php-parser package download in GH-20775

Ilija Tovilo

  • Fix yet another xml deprecation in fe070fcc75
  • Fix dumping function signature with dynamic class const lookup default argument in 26c0cbd93c
  • Update clang in macOS build in cb413b5d5f
  • Fix xcode-select in 6cdb8bf0a2
  • Fix curl protocols test expectation in 06b8b75d2e
  • Fix uncatchable exception thrown in generator in fb1ec9a5a7

Jakub Zelenka

Kamil Tekiela

Max Kellermann

  • sapi/fpm: remove use of variable-length arrays in GH-10645

Michael Telgmann

  • fix: Allow variadic syntax in PHPDoc parameter annotation in gen_stub.php in GH-20342

Niels Dossche

Sharad Chandran R

  • Fix variable assignment for PHP argument escaping in run-tests.php in GH-20799

Tim Düsterhus

  • Update GitHub Action workflows to actions/checkout@v6 in bb70c5589a
  • Update GitHub Action workflows to actions/cache@v5 in 6f61244a03
  • Update GitHub Action workflows to actions/checkout@v6 (8.2) in 61c35928fa
  • Update GitHub Action workflows to actions/checkout@v6 (8.3) in 7c1830b056
  • Update GitHub Action workflows to actions/checkout@v6 (8.4) in 302aed78ee
  • Update GitHub Action workflows to actions/labeler@v6 in 034ee3f47b
  • Update GitHub Action workflows to actions/upload-artifact@v6 in eb1c0177fd

Yuya Hamada

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.