PHP 7.4 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.4.0RC5 is not recommended. PHP 7.4.33 is the latest version in the series.
Downloads
Source Code
Git Clone
Use Git to clone the 7.4.0RC5 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.4.0RC5
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
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:7.4.0RC5-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:7.4.0RC5-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:7.4.0RC5-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:7.4.0RC5-apache
Debian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
docker pull php:7.4.0RC5-fpm
Commit List
Alex Porto dos Santos
- Update array access syntax deprecated in a6a2d167d8
Christoph M. Becker
- Prevent parallel testing conflicts in 8e06504e94
- Fix test case in 81806db90b
- Fix #78694: Appending to a variant array causes segfault in 45a7723267
- Fix #78684: PCRE bug72463_2 test is sending emails on Linux in 26635ed71a
- Fix #78633: Heap buffer overflow (read) in
mb_eregi
in 4f50d58cab - Update NEWS in 36943dfff1
- Fix #78716: Function name mangling is wrong for some parameter types in 1c9bfcb6a7
- Fix typo in 598bf7f5d5
- Fix #78751: Serialising DatePeriod converts DateTimeImmutable in 89c327f884
- Implement #78270: Support __vectorcall convention with FFI in bedbecf56d
Derick Rethans
- Import timelib version 2018.03 in 3725a446ba
- Update versions for PHP 7.4.0RC5 in 437ee68847
Dmitry Stogov
- Fixed bug #78512 (Cannot make preload work) in 05c5e5dfde
- Allow loading FFI bindings through ffi.preload directive in 1417352dda
- Ignore
ZEND_FFI_TYPE_OWNED
flag in c744531fff - Added suppot for
glob()
wildcard matching in ffi.preload directive in fea8c5481b
Fabien Villepinte
- Change port to avoid collision with others tests in 8b160f530c
- Add tests for DOMEntityReference in 550a2df043
- Fix proto of
enchant_broker_list_dicts()
in 4b3e041f5b - Improve the error message in timeout tests in 62b053a3be
- Fix bug #78697: inaccurate error message in bea2ff88c9
- Add tests for ReflectionZendExtension in 4194e0415b
- Revert "Add tests for ReflectionZendExtension" in 7ce85c34ff
- Add a run with opcache to the coverage job in 6422c95633
- Replace EXPECTF by EXPECT in 601aef3468
Florian Engelhardt
- Added missing call to
ZipArchive::close()
in 1eae77221e
Jakub Zelenka
- Add NEWS for the fixed bug #74083 in 666fb9a194
- Fix bug #78599 (env_path_info underflow can lead to RCE) (CVE-2019-11043) in ab061f95ca
Joe Watkins
- set versions for release in 481520d381
- bump versions after release in fadd7f0f1e
- set versions for release in 326cd05dae
- bump version in 52f049879a
m.yakunin
- Fix #70153 \DateInterval incorrectly unserialized in d2cde0bfd3
Maksim Nikulin
- Block signals during fpm master initialization in ae5154c6c6
- Add (slow) test for fpm concurrent reloads #74083 in 2f9f409156
- Skip fpm bug #74083 test on Windows in d537ae73e0
Nikita Popov
- Integrate property types with variance system in cf85eb2468
- Limit the amount of errors generated during exif parsing in e5324a2484
- Implement a cache for exif tag name lookups in 56e3e6f135
- Improve exif tag name fetching in 650115c827
- Fix leak with cycle in static prop of internal class in ed31e04133
- Fix static prop cleanup for dl'ed internal classes in 3d55386aa8
- Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well in fa89c41f37
- Don't autoload when checking property types in f841388781
- Fix aarch64 crc32 implementation in 5f13eff4a2
- Use
posix_getuid()
to check for root inpcntl_setpriority()
test in a3469146d4 - Increase FD used in php://fd test in 8fd30aae16
- Don't test "blocks" in
lstat_stat_variation7.phpt
in 6aa6d70e9d - Skip large ftruncate test if large files not supported in edf7346810
- Skip
IntlTimeZone::getOffset()
error tests on non-x86 in 93a9b56c90 - Clean up and clarify
instanceof_function_ex()
in 435f269108 - Optimize instanceof_class/interface in c63a0e005a
- Remove recursive check from instanceof_interface in 184ba0c91c
- Simplify travis setup scripts in a8b4e40fa2
- Check class linking in VERIFY_RETURN_TYPE optimization in f07565b0eb
- Optimize VERIFY_RETURN_TYPE for TMP operands as well in 6aece7be0a
- Fixed bug #78747 in 5249993814
- Fix bug #78226: Don't call __set() on uninitialized typed properties in f1848a4b3f
- Add ARM64 CI to Travis in bd379df48c
- Try one more FD in
ext/standard/tests/file/php_fd_wrapper_04.phpt
in 43dc7da8e3 - Fix bug #78752 in 16c4910876
Rasmus Lerdorf
- Update alloc patch in 5870efbcf5
- Reverting push to wrong repo in af57b6330b
Remi Collet
- add NEWS entry in 2213bd36fd
- add new ffi.preload option in php.ini and display ini entries in MINFO in dcd772325d
- typo and better wording in 69b608cf13
Ryan Schmidt
- Use ICU's CXXFLAGS when using pkg-config in 8daf96cef3
Sara Golemon
- Silence undefined index warning when openssl not available in 15d7cd9e18
Simonov Denis
- Add support for Interbase 1 dialect in 3fb42a382c
Stanislav Malyshev
- Fix libmagic buffer overflow issue (CVE-2019-18218) in 469820048d
Tyson Andre
- Fix miscellaneous typos in docs in 38f388fba4
ZiMuyang
- Remove redundant variable rv and optimize code in 99c84cd92a