PHP 7.4.5: Downloads, Changelog, News

Release Information

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

PHP 7.4 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.4.5 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.5 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.4.5
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
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.5-cli-alpine

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

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

ChangeLog

Core

  • Fixed bug #79364 (When copy empty array, next key is unspecified).
  • Fixed bug #78210 (Invalid pointer address).

CURL

  • Fixed bug #79199 (curl_copy_handle() memory leak).

Date

  • Fixed bug #79396 (DateTime hour incorrect during DST jump forward).
  • Fixed bug #74940 (DateTimeZone loose comparison always true).

FPM

  • Implement request #77062 (Allow numeric [UG]ID in FPM listen.{owner,group})

Iconv

  • Fixed bug #79200 (Some iconv functions cut Windows-1258).

OPcache

  • Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).

Session

  • Fixed bug #79413 (session_create_id() fails for active sessions).

Shmop

  • Fixed bug #79427 (Integer Overflow in shmop_open()).

SimpleXML

  • Fixed bug #61597 (SXE properties may lack attributes and content).

SOAP

  • Fixed bug #79357 (SOAP request segfaults when any request parameter is missing).

Spl

  • Fixed bug #75673 (SplStack::unserialize() behavior).
  • Fixed bug #79393 (Null coalescing operator failing with SplFixedArray).

Standard

  • Fixed bug #79330 (shell_exec() silently truncates after a null byte).
  • Fixed bug #79465 (OOB Read in urldecode()). (CVE-2020-7067)
  • Fixed bug #79410 (system() swallows last chunk if it is exactly 4095 bytes without newline).

Zip

  • Fixed Bug #79296 (ZipArchive::open fails on empty file).
  • Fixed bug #79424 (php_zip_glob uses gl_pathc after call to globfree).

Commit List

Andre Nathan

  • Allow numeric [UG]ID in FPM listen.{owner,group} in 0b4e80b8c1

Christian Schneider

  • Fix bug #79410 (system() swallows last chunk if it is exactly 4095 bytes without newline) in c0840fec9c

Christoph M. Becker

Derick Rethans

Dmitry Stogov

  • Allow to fetch function address in e902e4acd9
  • Export FFI::__BIGGEST_ALIGNMENT__ in c45552e32b
  • Allow to fetch function address in ecdaf83f5f
  • Export FFI::__BIGGEST_ALIGNMENT__ in fee614f66b
  • Avoid "Anonymous class wasn't preloaded" error by lazely loading of not preloaded part of a preloaded script in 2dddab01ae
  • Call global code of preloaded script in global context in 3c6e9bed1a
  • identation fix in b6492b4453
  • Check asserts early in c5159b3832
  • Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script) in 65120cfc09

George Peter Banyard

  • Explicitly declare the char as signed in zend_ffi_val in 6e88f19346

Jacob Dreesen

Lukas Berger

  • Add missing 'skip' to bug79332.phpt skip message in 7f9b534e3a

Max Rees

Nate Brunette

Nikita Popov

Peter Seiderer

  • Check for sys/auxv.h before using it in f73528f0e0

Remi Collet

Stanislav Malyshev

Xinchen Hui

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.

Support PHP.Watch — If you find the articles, version information, Codex, and other PHP.Watch contributions useful, consider supporting through GitHub Sponsors. Your sponsorship helps dedicate more time to creating valuable content and improving the PHP community. Together, we can keep the momentum going — thank you for your support!

Thanks to the highest tier sponsor: @TomasVotruba for your generous support to keep PHP.Watch moving 💜