PHP 8.4.4 is an old release of PHP 8.4 series. Using the latest version PHP 8.4.5 is highly recommended.
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