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 (
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.
./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.9-x64NTS.zip (32.22 MiB)
php-8.4.9-x86NTS.zip (28.89 MiB)
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.9-x64TS.zip (32.38 MiB)
php-8.4.9-x86TS.zip (28.96 MiB)
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
: simplifyldap_connect()
workflow, fix url leak in 5d4846b241ext/tidy
: anticipate tidyOptIsReadOnly retirement in e13ba36abbext/pdo_sqlite
: createCollation memory leaks fix in 1044558b64
Dmitry Stogov
- Update IR in 81593cfc6a
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
- Fix bug #74796: Requests through http proxy set peer name in 42f6c15186
- Skip OpenSSL proxy test for bug #74796 on Windows in 444cc78a3e
Máté Kocsis
- Fix build on Apple Clang 17+ in GH-18629
- Backport relevant changes of https://github.com/php/php-src/pull/18719 in 08b616e2f5
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 inphp_readline_completion_cb()
in c9781111e1 - Fix memory leaks in
php_http.c
whencall_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 fordata_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
inphp_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
andcopy_variation2-win32.phpt
in 186a8116be zend_alloc
: Fix compile withZEND_MM_STAT
=0 in d11f9717fd- Fix technically incorrect sizeof in fe3bea090e
- Fix 'phpdbg
--help
' segfault on shutdown withUSE_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
Peter Kokot
- Fix linking
ext/curl
against OpenSSL in GH-13262
Saki Takamachi
- Update versions for PHP 8.4.9 in 3683f1cd7c
Tim Düsterhus
- cli: Fix
tests/bug80092.php
t expectation forPHP_BUILD_PROVIDER
in GH-18824
txuna
- Fix GH-18595: fpm_get_status segfault in 48b492269b