PHP 7.4.0beta1: 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.0beta1 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.0beta1 tag from the PHP Git repository.
git clone --depth 1 --branch php-7.4.0beta1
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

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.0beta1-cli-alpine

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

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

Commit List

Abyr Valg

Andrew Collington

Christoph M. Becker

  • Upgrade to SQLite 3.28.0 in e944ae6b2a
  • Fix #78212: Segfault in built-in webserver in fa65f5ecf5
  • Revert "Temporarily skip test" in d0d02ecc4e
  • Swap implode() argument order in the test helper in 8aa7865997
  • Removed ext/recode in 58b607c9ea
  • Update NEWS and UPGRADING wrt. ext/recode unbundling in 76783a9bcc
  • No more need to cater to pre-PHP-5.3 or PHP-6 versions in a6fa097ceb
  • Fix #78282: atime and mtime mismatch in bf242d58e7
  • Fix #78283: no output for explicit environment in 8c76d898a9
  • Sync mysqlnd version with PHP version in 37043e07df
  • Revert "Remove Windows syslog script and syslog.reg" in 6f617b7759
  • Allow multiple cache instances per user/host on Windows in e2ed7e6716
  • Use regedit to register event source in f34db7fc2a
  • Remove remaining lightnings from run-tests.php in 55d34f7023
  • Move Oniguruma related config stuff to where it belongs in 504cd03fc3
  • Put oniguruma include path to proper CFLAGS in 737c1b492c
  • Drop superfluous ENABLE_GD_TTF in d3d3404db7
  • Remove superfluous HAVE_GD_BUNDLED checks in f8202b5513

Cyril Pascal

  • Align segments on huge page boundary only for x86 in 6791107319

David Carlier

  • CGI: Fix memory leak on error paths in aa0e29a668

Derick Rethans

  • Update versions for PHP 7.4.0beta1 in 6f57802c59

Dmitry Stogov

  • Remove duplicated code for (PRE|POST)DEC(OBJ|STATIC_PROP) opcodes in e1f418dd18
  • Avoid unintended inlining in 8f0c87e1b6
  • Reduce cost for references to strings and resources in d57d74b271
  • Set expectation to reduce hot code fragmentation in 0e3d4911fa
  • Separate "cold" parts of binary op instructions in be94c0c3c6
  • Separate "cold" parts of comparison instructions in ef1a1a0698
  • Allow GOTO style helpers in HYBRID VM in 350f2212ff
  • Use common code for double math in 0793af0673
  • Fixed incorrect specialization (missed IS_INDIRECT handling) in 9ccf3fb996
  • Delay IS_UNDEF checks in 1d4c38421a
  • Replace deprecated conditions by ZEND_ASSERT in c1b9088903
  • Slit INC/DEC opcodes into hot/cold parts and remove specialized versioins for LONG_OR_DOUBLE in 349a388b90
  • Provide type info in a6812c0c84
  • Separate "cold" and common unspecialized code in ee5828205e
  • Added specialization for comparison instructions and QM_ASSIGN in 918f09f72a
  • Remove old hack in 6fbab09ef0
  • Avoid extra specialization for cold opcodes in b30e4a5aa6
  • Merge common code in 7cf651c39e
  • ZEND_DECLARE_ANON_CLASS doesn't need to skip anything now. It's immediatelly followed by ZEND_NEW in b065fbde19
  • Use run-time cache to avoid repeatable hash lookups when creating anonymous functions and classes in d5943f5a11
  • Use run-time cache to avoid repeatable hash lookups in ZEND_DECLARE_CLASS_DELAYED in 445d51347d
  • Evaluate constant in class scope in 2f51764e5d
  • Initialize static_members_table in 60dca2295d
  • Fixed unspecialized executor in eaa9048973
  • Fixed CALL VM in 8d51af9bc2

George Peter Banyard

  • Convert short tag to standard tag in Zend test file in e6c2b28865
  • Convert all php_error_docref0 to php_error_docref in 1c1de0c41a
  • Small typo and proto name fix in 548d1ec27c
  • Convert short tag to standard tag in Zend test file in e7e66d5275
  • Convert E_STRICT into E_NOTICE for htmlentities() function in 3a5664fdfe
  • Renamed MySQLi test to remove duplicate 'mysqli_' in 1a031a242c
  • Cleanup of remaining E_STRICT in tests in 6d6d954d0d

George Wang

  • Checked in LiteSpeed SAPI 7.5, addressed two main problems in "clean shutdown" introduced in 7.4.3, in eb7e45f662

Maksim Nikulin

  • Prevent use after free in fpm_event_epoll_wait in bdf24f8d6d

Markus Staab

Matteo Beccati

Nikita Popov

Peter Kokot

Remi Collet

  • improve libargon2/libsodium compatibility in db0eaa8cf1
  • Fix #78269 password_hash uses weak options for argon2 in eab0079c90
  • Fix #78269 password_hash uses weak options for argon2 in a7ff3a6483
  • next is 7.2.22 in c9037421ac
  • Fixed bug #78314 (missing freetype support/functions with external gd) in a85e4d5336
  • improve temporary fix for system libgd in fff6b18657
  • cleanup gd build with system libgd - drop need to use libpng with system libgd - drop need to use libjpeg with system libgd - drop need to use libXpm with system libgd - drop need to use libfreetype with system libgd - improve configure comments in 31d85b8417


  • Deprecate alternative array access syntax in d574df63dc

Sara Golemon

  • Relax argon2 mem_cost down to 64k, bump time_cost to 4 in f65956e4fb

Sebastian Pop

  • [AArch64] Use crc32 instructions when available in 2a535a9707
  • neon vectorization for base64 in 3b73c9fb86
  • vectorize string-escape with NEON in af7639683f
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.