PHP 7.4 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.4.0RC2 is not recommended. PHP 7.4.33 is the latest version in the series.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.4.0RC2
./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:7.4.0RC2-cli-alpine
docker pull php:7.4.0RC2-cli
docker pull php:7.4.0RC2-fpm-alpine
docker pull php:7.4.0RC2-apache
docker pull php:7.4.0RC2-fpm
Commit List
bugreportuser
- Fix #78535: auto_detect_line_endings value not parsed as bool in fdcca93056
Christoph M. Becker
- Fix #41997: SP call yields additional empty result set in 41a4379cb4
- Document opcache.preload_user directive in 61dcae50d5
- Fix #78510: Partially uninitialized buffer returned by
sodium_crypto_generichash_init()
in 8ead77936e - Fix version in 73ede6911d
- new_variable '{' expr '}' is deprecated as well in bcf9d1e995
- Drop regression test in bca66002f1
- PHP 7.3.10RC1 has been tagged in cf31210f29
- Fix exif build in 31f617d9bc
- Stick with
zend_long
for ABI compatibility in 81cefab7b0 - Fix #78516:
password_hash()
: Memory cost is not in allowed range in 145ffd93fc - Fix #78429: opcache_compile_file(FILE); segfaults in 20f73d3d8f
CHU Zhaowei
- Fix bug #72884 isCloneable() on SplFileObject should return false in 1ac6b0251b
David Carlier
- Fix tautological compare warning in 711bd0a0fc
- Monitoring anonymous pages on mac via vmmap tag in ce25fa0d24
Derick Rethans
- Revert "Update NEWS for 7.4.0RC3" in 4c39f557e6
- Revert "Update NEWS for PHP 7.4.0RC2" in 9ed247b7b1
- Update versions for PHP 7.4.0RC2 in dddba343d3
Dmitry Stogov
- Execute preload script under user defined by opcache.preload_user directive in 5dc37cc306
- Fixed bug #78488 (OOB in ZEND_FUNCTION(ffi_trampoline)) in 1db0bad6a7
- Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used in 7237da27fe
- Microoptimization (avoid code duplication) in 25d97f5eee
- Revert "Microoptimization (avoid code duplication)" in 4ecdff2da8
- Link executable files using non PIC object files. This reduces PIC overhead and improves performance in eef85229d0
- Stop after exceptions in ea92b9b655
- NEWS entry, test and minor cleanup for
FFI::isNull()
in 21c3cdf668 - Fixed bad format string in 5f555fb19e
- Eliminate checks using
ZEND_CONST_COND()
macro in 697266a84e - Load string once in 5a616191f3
- Fixed bug #78531 (Crash when using undefined variable as object in 51d9f32dbe
- Fixed incorrect usage of QM_ASSIGN instruction in e45a757bc2
- Make constant and copy propagation only for IS_TMP_VAR operands in af9b127fed
- Fixed typos in 6417c507ce
- Fixed CLI/CGI/FPM build, when they are built together with Apache SAPI in db094b4b2e
Drakano
- Add tilde to allowed status/ping path in 252ebce0d7
Fabien Villepinte
- Add missing
SKIPIF
in c0c1f9d38c - Add missing
SKIPIF
(sqlite) in bbf7b8dd69 - Add missing
SKIPIF
(openssl) in 7aece45f4d - Add missing
SKIPIF
(mbstring) in db4f5e44e1 - Add the last missing
SKIPIF
in ced5bb7d88 - Fix typo in 42046c71ee
- Improve test usleep_basic by inlining its output in 1792adebfd
fancyweb
- Fix #76342: file_get_contents waits twice specified timeout in e691a98c1f
Kalle Sommer Nielsen
- Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7) in 2823e938d4
- NEWS in 716518373f
Nicolas Grekas
- Improve Symfony test setup in aee31dd7e4
Nikita Popov
- Clarify failure behavior of
spl_iterator_apply()
in 5acedabfc0 - Add zpp check to
spl_classes()
in c0e9b1532e - Use unsigned subtraction in
php_random_int()
in 265af40a0a - Avoid pointer UB in strip_header in 518c651c66
- Report false for inherited private methods in
method_exists()
in 6255308624 - Fix handling of abstract/deprecated exception in 4bb7282742
- Improve exception handling for abstract/deprecated calls in b6f76aca54
- Remove
--with-zlib-dir
option from mysqlnd config in a2c21e10b2 - Fix pipe detection and stream position handling in 9ec61e43d4
- Fixed bug #78502 in e81751ceac
- Fix detection of gmp on clang in 34f4ad61dc
- Remove nsldap support in 025ff3b5a3
- Remove support for umich_ldap in 148ee16ff3
- Remove defines for specific oraldap versions in 768c93ed13
- Fix reporting of redirect test failures in junit in 279f745a60
- Fix double free of DSN credentials in 645b0372e3
- Fix PDO pgsql memory leak with scrollable cursors in 66caca53ce
- Fixed bug #78514 in 36a8cf5182
- Fix typo in 7807319b7c
- Clarify that our usage of
gettimeofday()
is infallible in 974e77b345 - Preloading: Fix handling of static vars in inherited methods in 0a24cd4e7c
- Fixed bug #78506 in 11f3e24190
- Fix another pointer indexing UB in http_fopen_wrapper in 1ce830a4aa
- Free
history_get_history_state()
result in f945c82ec6 - Specify -fsanitize-no-recover in b7c353c8d0
- Only allow "nearly linked" classes for parent/interface in 270e5e3c5b
- Fix typo in unlinked_instanceof assertion in fbe287a677
- Improve "already declared" error message in d88b212ea6
- Allow throwing exception while loading parent class in 4b9ebd837b
- Fix bug #78525 in df982da587
- Fix use-after-free in assign-ref compilation in 4226c8247f
- Include
stddef.h
inzend_portability.h
foroffsetof()
macro in ec30a3b171 - Define OBJ_PROP_TO_OFFSET() using XtOffsetOf() in ee0bf4b24d
- Fix symtable_cache_limit assignment in phpdbg in fa07a9c223
- Use XtOffsetOf() in url_scanner_ex in ab4f725d83
- Fix double-free on invalid large octal with separators in 3f76f9416f
- Sanity-check array/object lengths during unserialization in 4377a8ea41
- Fix test after unserialize change in c8359fcea2
- Fix leak in SplObjectStorage unserialization in 8873df8e86
- Fix segfault when unserializing abstract class in 0d3da6ac25
- Fix use-after-free due to packed->mixed conversion with __unserialize() in c3376bf7ae
- Fixed bug #78545 in 2f6efd835d
- Check for exception after calling
count_values()
in d266ba4f2d - Enable
--with-mhash
on CI in 66351025c8 - Increase timeout in test in 175f4f24ae
Peter Kokot
- Fix #78349: Bundled pcre2 library missing LICENCE file in a8c97f0531
- Update NEWS in f5dfea60a2
Philip Hofstetter
- add
FFI::isNull()
to check whether a FFI\CData is a null pointer in f6ff7eb335
Remi Collet
- fix type consistency after in 766d5ff32f
- zip edxtension is now 1.15.5 in a7b00f8787
- Raise minimal GCC version, in c43fc204b1
Sara Golemon
- Bump for 7.2.24 in a270eb1911
Simonov Denis
- Request #77863: PDO firebird support type Boolean in input parameters in 481f89551e
Stanislav Malyshev
- fix version in 60cfa5781a
Tyson Andre
- Add new missing functions from
ext/hash
in 1a905bcb1e - Add missing opcache return info for
ext/standard
in 4de8503c22 - Add missing opcache return types for functions in spl in 94e2f25f07
- Fix opcache
zend_func_info
for microtime/gettimeofday in 45e529d673 - Add opcache return type for
random_int()
in 3e89e9a636 - Fix opcache return type for get_headers in
zend_func_info
in 29bced9521