Release Information
- Release Type
- Bug Fix Release
- Release Status
- Latest
- Branch Status
- Supported (Latest)
Latest PHP release in the latest version.
PHP 8.4 continues to receive bug fixes and security fixes until 2026-12-31.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.4.4
./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
Docker/Podman Containers
docker pull php:8.4.4-cli-alpine
docker pull php:8.4.4-cli
docker pull php:8.4.4-fpm-alpine
docker pull php:8.4.4-apache
docker pull php:8.4.4-fpm
ChangeLog
Core
- Fixed bug GH-17234 (Numeric parent hook call fails with assertion).
- Fixed bug GH-16892 (
ini_parse_quantity()
fails to parse inputs starting with 0x0b). - Fixed bug GH-16886 (
ini_parse_quantity()
fails to emit warning for 0x+0). - Fixed bug GH-17222 (PROPERTY magic constant does not work in all constant expression contexts).
- Fixed bug GH-17214 (Relax final+private warning for trait methods with inherited final).
- Fixed NULL arithmetic during system program execution on Windows.
- Fixed potential OOB when checking for trailing spaces on Windows.
- Fixed bug GH-17408 (Assertion failure Zend/zend_exceptions.c).
- Fix may_have_extra_named_args flag for ZEND_AST_UNPACK.
- Fix NULL arithmetic in System V shared memory emulation for Windows.
- Fixed bug GH-17597 (#[\Deprecated] does not work for call() and callStatic()).
DOM
- Fixed bug GH-17397 (Assertion failure ext/dom/php_dom.c).
- Fixed bug GH-17486 (Incorrect error line numbers reported in Dom`HTMLDocument::createFromString`).
- Fixed bug GH-17481 (UTF-8 corruption in \Dom\HTMLDocument).
- Fixed bug GH-17500 (Segfault with requesting nodeName on nameless doctype).
- Fixed bug GH-17485 (upstream fix, Self-closing tag on void elements shouldn't be a parse error/warning in \Dom\HTMLDocument).
- Fixed bug GH-17572 (getElementsByTagName returns collections with tagName-based indexing).
Enchant
- Fix crashes in enchant when passing null bytes.
FTP
- Fixed bug GH-16800 (ftp functions can abort with EINTR).
GD
- Fixed bug GH-17349 (Tiled truecolor filling looses single color transparency).
- Fixed bug GH-17373 (
imagefttext()
ignores clipping rect for palette images). - Ported fix for libgd 223 (gdImageRotateGeneric() does not properly interpolate).
- Added support for reading GIFs without colormap to bundled libgd.
Gettext
- Fixed bug GH-17400 (bindtextdomain SEGV on invalid domain).
Intl
- Fixed bug GH-11874 (intl causing segfault in docker images).
Opcache
- Fixed bug GH-15981 (Segfault with frameless jumps and minimal JIT).
- Fixed bug GH-17307 (Internal closure causes JIT failure).
- Fixed bug GH-17428 (Assertion failure ext/opcache/jit/zend_jit_ir.c:8940).
- Fixed bug GH-17564 (Potential UB when reading from / writing to struct padding).
PCNTL
- Fixed pcntl_setcpuaffinity exception type from ValueError to TypeError for the cpu mask argument with entries type different than int/string.
PCRE
- Fixed bug GH-17122 (memory leak in regex).
PDO
- Fixed a memory leak when the GC is used to free a PDOStatment.
- Fixed a crash in the PDO Firebird Statement destructor.
- Fixed UAFs when changing default fetch class ctor args.
PgSql
- Fixed build failure when the constant PGRES_TUPLES_CHUNK is not present in the system.
Phar
- Fixed bug GH-17518 (offset overflow phar extractTo()).
PHPDBG
- Fix crashes in function registration + test.
Session
- Fix type confusion with session SID constant.
- Fixed bug GH-17541 (
ext/session
NULL pointer dereferencement during ID reset).
SimpleXML
- Fixed bug GH-17409 (Assertion failure Zend/zend_hash.c:1730).
SNMP
- Fixed bug GH-17330 (
SNMP::setSecurity
segfault on closed session).
SPL
- Fixed bug GH-15833 (Segmentation fault (access null pointer) in ext/spl/spl_array.c).
- Fixed bug GH-17516 (
SplFileTempObject::getPathInfo()
Undefined behavior on invalid class).
Standard
- Fixed bug GH-17447 (Assertion failure when array popping a self addressing variable).
Windows
- Fixed clang compiler detection.
Zip
- Fixed bug GH-17139 (Fix
zip_entry_name()
crash on invalid entry).
Commit List
Calvin Buckley
- Fix crash in PDO_ODBC statement dtor in GH-17586
- Update versions for PHP 8.4.4 in 82b6f2da9e
Christian Schneider
ext/pgsql
: Add check for constant PGRES_TUPLES_CHUNK to fix compilation failures in fa21fce84f
Christoph M. Becker
gh15937.phpt
does not need to be an online test in 919f1984d5- Fix GH-17349: Tiled truecolor filling looses single color transparency in 2c658f422d
- Fix GH-17373:
imagefttext()
ignores clipping rect for palette images in ec90367cd8 - Fix libgd 223: gdImageRotateGeneric() does not properly interpolate in 47683487f8
- Add support for reading GIFs without colormap in 38365a44d0
- Fix clang compiler detection on Windows in 58628e0cc6
- Fix NULL arithmetic during system program execution in 022a5fca91
- Fix potential OOB when checking for trailing spaces in ed8b11188b
- Use preinstalled MySQL for Windows CI in a403b76e88
- Fix NULL arithmetic in System V shared memory emulation in 2e02cdfb5f
David Carlier
- Fix GH-17330:
SNMP::setSecurity
segfaults when object had been closed in cd4481422b - Fix GH-17400: bindtextdomain segfault with UTF-16 domain value in e975c27e12
- Fix GH-17463:
SplTempFileObject::ftruncate()
segfault on negative length in e4473abefc ext/pcntl
: Fix pcntl_setcpuaffinity exception type for invalid cpu id in 6979a7a954- Fix GH-17469:
UConverter::transcode()
not hardcoding error handling in a1d1269688 - Fix GH-17516:
SplFileTempObject::getPathInfo()
crash on invalid class in c82e31b026
Derick Rethans
- Updated to version 2025.1 (2025a) in 7da1ea4029
- Empty merge in 2d3dca004a
- Updated to version 2025.1 (2025a) in 4333009190
Dmitry Stogov
- Update IR in 4763193567
- Update IR in 9aaa469f99
- Update IR in 63965f1de5
Gina Peter Banyard
ext/session
: Fix GH-17541 (ext/session
NULL pointer dereferencement during ID reset) in a85666c17bext/pdo
: Fix memory leak if GC needs to free PDO Statement in 99f8ec33d9- Add NEWS entries in e6d917e4c9
ext/pdo
: Fix a UAF when changing default fetch class ctor args in 3027600ffc
Ilija Tovilo
- PROPERTY does not work in all constant expression contexts in 147e9c808c
- Relax final+private warning for trait methods with inherited final in a6a290d541
- Backport nightly.yml in f26250c7c7
- Skip Symfony/Wordpress in 8.1 build in 5b8c960c9f
- Fix GHA config yml error in 3e6f4702ba
- Fix mysql mysql_native_password error on CircleCI in c99fb05929
- Fix inline
zend_string
using struct padding in 8ea9b04a23 - Fix cve-2014-3538 test in d17d58a982
- Fix missing GC_PERSISTENT_LOCAL flag on accel_globals.key in 2ad778bc76
Jakub Zelenka
- Test
stream_context_tcp_nodelay_server
on Windows in 9e1b58274e - Rewrite http gh16810 test to not be online in 5b72f12c56
- Fix GH-17499: mysqli flaky test: ghsa-h35g-vwh6-m678-stmt-row-string in 235d1b14a3
Niels Dossche
- Fix GH-16800: ftp functions can abort with EINTR in 412a6b2e08
- Fix GH-11874: intl causing segfault in docker images in a970eefb6c
- Handle GC cycles properly in intl iterators in ee2faaa423
- Fix GH-17122: memory leak in regex in dc27acddd6
- Fix crashes in function registration + test in 1235c74828
- Fix GH-17234: Numeric parent hook call fails with assertion in 71493623f4
- Fix GH-17397: Assertion failure ext/dom/php_dom.c in 6d215981b6
- Fix crashes in enchant when passing null bytes in 783ecad82e
- Merge duplicate code blocks in e6e2ec56ab
- Fix GH-16886:
ini_parse_quantity()
fails to emit warning for 0x+0 in 2c267722b3 - Fix GH-16892:
ini_parse_quantity()
fails to parse inputs starting with 0x0b in 7626e88de7 - Add comment in a2b8204880
- NEWS in bf4a776ee7
- Fix GH-17409: Assertion failure Zend/zend_hash.c:1730 in a2a7287b87
- Fix GH-15833: Segmentation fault (access null pointer) in ext/spl/spl_array.c in b666dc9788
- Fix GH-15981: Segfault with frameless jumps and minimal JIT in 72184abd2f
- Generate inline frameless icall handlers only if the optimization level is set to inline in c790c5b2e7
- Fix GH-17307: Internal closure causes JIT failure in 28b448ac20
- Backport fix GH-17307 in e8fce295bc
- Fix GH-17139: Fix
zip_entry_name()
crash on invalid entry in d08a9e0010 - Fix GH-17428: Assertion failure ext/opcache/jit/zend_jit_ir.c:8940 in 3524702fe1
- Cherry-pick lexbor/lexbor@58c88147 in ac266c9a05
- Fix GH-17447: Assertion failure when array popping a self addressing variable in ae3ab37816
- Fix GH-17486: Incorrect error line numbers reported in Dom`HTMLDocument::createFromString` in 21c170c75a
- Fix GH-17481: UTF-8 corruption in \Dom\HTMLDocument in 2952e164a9
- Fix GH-17500: Segfault with requesting nodeName on nameless doctype in 82d71a82aa
- Cherry-pick lexbor/lexbor@e39083b0 in 4531292ad2
- Cherry-pick lexbor/lexbor@ae97abfb in a928b66447
- Cherry-pick lexbor/lexbor@e58e1e8c in d0981864eb
- NEWS for GH-17485 in 0b04061e71
- Cherry-pick lexbor/lexbor@f94d97a3 in 22704af4b8
- Fix GH-17518: offset overflow phar extractTo() in eab209d81d
- Fix GH-17408: Assertion failure Zend/zend_exceptions.c in 5344bcca97
- Fix may_have_extra_named_args flag for
ZEND_AST_UNPACK
in 0b3e637aec - Fix type confusion with session SID constant in 2a2cc2ccce
- Fix crash in firebird statement dtor in 2ae897fff7
- Update test expectation for different Firebird version in 77130794a3
- Fix GH-17572: getElementsByTagName returns collections with tagName-based indexing, causing loss of elements when converted to arrays in fc7c353519
- Fix potential read of uninitialized padding data in DOM in GH-17628
Remi Collet
- relax test for zlib-ng in 310dfbbf34
Tim Düsterhus
- Fix
#[\Deprecated]
for__call()
and__callStatic()
in GH-17592