PHP 7.4.0RC5: Downloads, Changelog, News

Release Information

PHP Version
PHP 7.4
Release Date
Release Type
Security Update
Release Status
EOL, Use PHP 7.4.33
Branch Status

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.


Source Code

Git Clone
Use Git to clone the 7.4.0RC5 tag from the PHP Git repository.
git clone --depth 1 --branch php-7.4.0RC5
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (./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

Non-Thread Safe Builds
Non-Thread Safe (NTS) builds are single-threaded PHP builds. They can be used on web servers that integrate PHP over FastCGI protocol, such as Nginx, Caddy, and IIS.
Thread-Safe Builds
Thread-Safe (TS) builds are multi-thread PHP builds, often used to integrate PHP as a Server API for multithreaded servers. The most common use case is using PHP as an Apache module.

Docker/Podman Containers

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

Derick Rethans

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

Joe Watkins


Maksim Nikulin

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 in pcntl_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

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

Tyson Andre


  • Remove redundant variable rv and optimize code in 99c84cd92a
Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Wednesday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.