PHP 8.4.0RC3 is an old release of PHP 8.4 series. Using the latest version PHP 8.4.3 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.0RC3
./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.0RC3-cli-alpine
docker pull php:8.4.0RC3-cli
docker pull php:8.4.0RC3-fpm-alpine
docker pull php:8.4.0RC3-apache
docker pull php:8.4.0RC3-fpm
Commit List
Arnaud Le Blanc
- Fix handling of invalid iterator in
zend_weakmap_iterator_get_current_key()
in 1d94fb86b7 - Lazy objects: Update class constants earlier in 64081d1380
Ayesh Karunaratne
- UPGRADING: Fix
IntlTimeZone::getIanaID
new method notice in 951dab74fa
Christoph M. Becker
- Fix out of bound writes to SafeArray data in 1ee56bdd5a
- Revert "Fix GH-16322: overflow on imageaffine matrix argument." in 9b64d3212d
- Fix GH-16174: Empty string is an invalid expression for phpdbg-ev in 6bcba24eb0
- Fix GH-16367: macOS CI fails to configure
ext/intl
on master in 37561823e9 - Fix GH-16357: openssl may modify member types of certificate arrays in 549bcdb7fb
- Fix GH-16388: UB when freeing a cloned _ZendTestFiber in a3eb1fd86d
- Fix GH-16326: Memory management is broken for bad dictionaries in d94be24f30
- Fix GH-16427: Unchecked libavif return values in b817a4f718
- Fix GH-16411:
gmp_export()
can cause overflow in ab595c0764 - Fix GH-16433: Large values for
openssl_csr_sign()
$days overflow in 2bdf2f9100 - Download enchant dict from downloads.php.net in 5ef3fe218c
- Fix GH-16454: Unhandled INF in
date_sunset()
with tiny $utcOffset in 9bc34182b6 - Fix GH-16414: zend_test.observer.observe_function_names may segfault in 909cecb7fa
- Fix GH-16390:
dba_open()
can segfault for "pathless" streams in d3b0efe9d7 - Free internal_runtime_cache on shutdown for NTS in fd39e230fd
- Fix GH-16266: _ZendTestClass::
test()
segfaults on named parameter in b73bcaa47c - Fix GH-16523: FILTER_FLAG_HOSTNAME accepts ending hyphen in f9ce5e79da
- Updates for libxml2 >= 2.13.0 in 30dd291628
David Carlier
- Fix GH-16322: overflow on imageaffine matrix argument in 05114265fb
- Revert "Fix GH-16322: overflow on imageaffine matrix argument." in 93a2fe8aac
- Fix GH-16360
mb_substr
overflow on start and length arguments in c34d4fbbf4 - Fix GH-16322: imageaffine overflow on affine argument in f2859a4050
- Fix GH-16359 curl write callback crash on FCC usage w/o user function in 42f877659d
- Fix socket_recvfrom overflow on buffer size in e583890af0
- Fix GH-16290: session cookie_lifetime ini value overflow in 84a8fea251
ext/gmp
: gmp_pow fix FPE with large values in d70b7811b0- Fix GH-16501: gmp_random_bits overflow in 9ca68e037c
Derick Rethans
- Fixed bug GH-16037 (Assertion failure in ext/date/php_date.c) in b2b294a2b2
Dmitry Stogov
- Fix GH-16393: Assertion failure in ext/opcache/jit/zend_jit.c:2897 in bf786d0d28
- Update IR in 6896756929
- Add test for GH-16355 (fixed by previous commit) in c98c198623
- Fix invalid target opline with jit->reuse_ip active in GH-16457
- Fix GH-16499: [JIT] Undefined to null coercion issues for return in fe513655dc
Ilija Tovilo
- Fix array to string conversion warning emitted in optimizer in c5745f40a5
- Skip shebang in cli-server router script in 06efe44c2e
- Split expression in 60562175ed
- Fix op2 caching for static properties in 67318e91bc
- Fix exception in
assert()
callback with bail enabled in b5c09b1a61 - Fix segfault in
zend_test_execute_internal()
in 5c798415cd - Fix segfault on
debug_backtrace()
in _ZendTestFiber in 5955ce8987 - Fix deprecation warnings in tests in 817d21ecc4
- Disallow asymmetric visibility on static properties in a8bbc84551
- Fix uaf in
SplDoublyLinkedList::offsetSet()
in 8820a10360 - Fix use-after-free in
SplObjectStorage::setInfo()
in 12c987fae2 - Fix uaf in
SplFixedArray::unset()
in 7fe168d855 - Revert undoing of partial spl_filesystem_object initialization in 1c542af144
- Fix propagation of
ZEND_ACC_RETURN_REFERENCE
for call trampoline in 8720063c4e - Fix handling of nested generator in
zend_test
observer in 69bcbdc3c5 - Fix lineno in function redeclaration error in de7ef3fa66
- Fix lineno for inheritance errors of early bound classes in 2d068c4f47
Kasey Jenkins
- Making
zend_hash_str_find_ptr_lc
&&zend_hash_find_ptr_lc
C++ friendly in GH-16476
Niels Dossche
- Update Lexbor in GH-16288
- Fix GH-16292: Segmentation fault in ext/xmlreader/php_xmlreader.c:1282 in 5c1249391b
- Fix GH-16316: DOMXPath breaks when not initialized properly in 1d0fbdf449
- Fix OSS-Fuzz #371445205: Heap-use-after-free in attr_free in e0b1b693e3
- Fix GH-16168: php 8.1 and earlier crash immediately when compiled with Xcode 16 clang on macOS 15 in e2e2b3ab62
- Fix GH-16385: Unexpected null returned by session_set_cookie_params in 7cdd1302c3
- Fix GH-16337: Use-after-free in SplHeap in a56ff4fec7
- Add missing hierarchy checks to replaceChild in 3ed01d454d
- Restore accidentally deleted check in b7b0b954be
- Backport 0a39890c: Fix libxml2 2.12 build due to API breaks in fa6a0f80f6
- Backport e2d97314: Backport deprecation warning ignores to unbreak CI in dbde99d875
- Backport 4fe82131: Backport libxml2 2.13.2 fixes in GH-14816
- Backport f74f9b07: Update libxml test for the directory field behaviour change in b78618750f
- Backport 3ec5919e: Update error message for libxml 2.13 in 6199289b6e
- Workaround deprecation warning in
zend_test
on 8.1 in 5bd04acfe9 - Backport 061058a9: Test fixes for libxml2 2.12.0 in 14c107371c
- Fix error message for newer libxml in 2c40762b4e
- Fix GH-16318: Recursive array segfaults soap encoding in 6ff4a2d7a8
- Fix GH-16409: Segfault in exif_thumbnail when not dealing with a real file in 3843f0ecfe
- Fix GH-16397: Segmentation fault when comparing FFI object in GH-16401
- Fix GH-16429: Segmentation fault (access null pointer) in SoapClient in d613c0ed30
- Fix GH-16465: Heap buffer overflow in DOMNode->getElementByTagName in d70f3ba9a5
- Fix various document ref pointer mismanagements in 5cb38e9d24
- Fix GH-16406: Assertion failure in ext/phar/phar.c:2808 in 6a8d0a054d
- Fix GH-16473: dom_import_simplexml stub is wrong in 41af9335b7
- Fix GH-16533: Segfault when adding attribute to parent that is not an element in a0a7361b64
- Fix GH-16535: UAF when using document as a child in 51b642f2c9
Saki Takamachi
- Backport 3237b8f4 in 8497400b23
- Update versions for PHP 8.4.0RC3 in 98cb79b9e6
Tim Düsterhus
- curl: Prevent a CurlMultiHandle from holding onto a CurlHandle if
add_handle
fails in GH-16302