PHP 7.4.0RC4: Downloads, Changelog, News

Release Information

PHP Version
PHP 7.4
Release Date
Release Type
Bug Fix Release
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.0RC4 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.0RC4 tag from the PHP Git repository.
git clone --depth 1 --branch php-7.4.0RC4
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.0RC4-cli-alpine

Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:7.4.0RC4-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.0RC4-fpm-alpine

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:7.4.0RC4-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.0RC4-fpm

Commit List

Brent Shaffer

  • fix #78624: session_gc return value for user defined session handlers in a6d219630c

Christoph M. Becker

Derick Rethans

Dmitry Stogov

  • Fixed test that "fails" from time to time in 2fcb5eadbb
  • Fixed test that "fails" from time to time in 3124129ca8
  • Fixed bug #78614 (Does not compile with DTRACE anymore) in 3ded328bea
  • Revert "Link executable files using non PIC object files. This reduces PIC overhead and improves performance." in b64a182233
  • Revert "Don't buid static libaraies when only DSO required" in 1bb1a1ee28
  • Revert "Fixed CLI/CGI/FPM build, when they are built together with Apache SAPI" in 33958ccb36

Erik Lundin

Fabien Villepinte

Fábio Souto

  • Fix bug #76809 (SSL settings aren't respected when persistent connection is reused) in 9a2b42a5c1

Gerard Roche

  • Azure: Publish code coverage results in db54b0fa18

Konstantin Kopachev

  • Fix #76859 stream_get_line skips data if used with data-generating filter in 05560b67bc

Mitch Hagstrand

  • Fix checksum calculation for opcache in e2a6bf482f

Nikita Popov

  • Remove func copy optimization for private method with static vars in f2e8851245
  • Allow SA_RESTART for SIGALRM in e98e1f92c9
  • Avoid file clash in root_check skipifs in d6a77c992f
  • Fix segfault with COMPILER_HALT_OFFSET and trailing {} in a5d3620d93
  • Fix AArch64 build in d81eb77b4a
  • Fix crash when unpacking into array literal with string keys in f26b60a583
  • Fix use-after-free with delayed interned memoized const operand in 9659562cb5
  • Fixed bug #78632 in ca652aafa8
  • Improve diagnostic on PCRE JIT mmap failure in 1d6e9da743
  • Make sure T_ERROR is returned for all lexer exceptions in 239e2dda64
  • Add support for mbstring.regex_retry_limit in 6623e7ac51
  • Fix typo in UPGRADING in 07f4830413
  • Limit retry_limit test to oniguruma >= 6.9.3 in 5b067163be
  • Don't test default serialize max_depth in 81d95c4c3c
  • Backport fix for uaf during pcre jit fallback in ab61d5caf9
  • Fix number of required arguments in arginfo in f085bddb51
  • Set session.gc_probability=0 in bug78624.phpt in 7d19668f60
  • Fix leak when include fails in a read operation in 2f64844495
  • Check for object_init_ex() failure in user filter factory in 19e6abebc7
  • Check for exception after applying stream filters in 2fdd142f99
  • Fixed bug #78644 in ad3ddf46f9
  • Fixed bug #78648 in 9004102b99
  • Handle "non well formed" exception during ZPP in 21148679d1
  • Don't check type of simple parameter default values in bea832cbf6
  • Remove redundant components < 0 check in d6ca174d5b
  • Fixed bug #78658 in 6fd6ad8f53
  • Avoid float to int cast UB in exif in daf1fc6e31
  • Fix leak on "Cannot assign by reference to overloaded object" error in 382f9b28e8
  • Report error if stream_read is not implemented in 6878c583b0
  • Fix leak on static method call on non-existent class in 96c84b7bc1
  • Also check for exception after stream_eof in f43f493e09
  • Fix leak when property AST evaluation fails in 12f4e9e020
  • Explicitly check for exceptions in by-ref obj prop assign in 4463acb951
  • Return error_zval form get_property_ptr_ptr on exception in 5a076e670a
  • Fix leak in phar open in 46561dab6a
  • Remove configure checks for ltp when using --enable-gcov in 3718a95526
  • Add upgrading note for round(-0.0) change in aa10e20830
  • Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well in c518932c03
  • Fix handling of overflowing invalid octal in tokenizer in 641f9615cc

Remi Collet

Sergei Turchanov

  • Add pcre_get_compiled_regex_cache_ex() with local_aware flag in a8f60ac9dd

Tyson Andre

  • Fix grammar nits on php 7.4 UPGRADING in 5eebd55391
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.