PHP 7.4.12: Downloads, Changelog, News

Release Information

Release
7.4.12
PHP Version
PHP 7.4
Release Date
Release Type
Bug Fix Release
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.12 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.12 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.4.12
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.12-cli-alpine

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

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

ChangeLog

Core

  • Fixed bug #80061 (Copying large files may have suboptimal performance).
  • Fixed bug #79423 (copy command is limited to size of file it can copy).
  • Fixed bug #80126 (Covariant return types failing compilation).
  • Fixed bug #80186 (Segfault when iterating over FFI object).

Calendar

  • Fixed bug #80185 (jdtounix() fails after 2037).

IMAP

  • Fixed bug #80213 (imap_mail_compose() segfaults on certain $bodies).
  • Fixed bug #80215 (imap_mail_compose() may modify by-val parameters).
  • Fixed bug #80220 (imap_mail_compose() may leak memory).
  • Fixed bug #80223 (imap_mail_compose() leaks envelope on malformed bodies).
  • Fixed bug #80216 (imap_mail_compose() does not validate types/encodings).
  • Fixed bug #80226 (imap_sort() leaks sortpgm memory).

MySQLnd

  • Fixed bug #80115 (mysqlnd.debug doesn't recognize absolute paths with slashes).
  • Fixed bug #80107 (mysqli_query() fails for ~16 MB long query when compression is enabled).

ODBC

  • Fixed bug #78470 (odbc_specialcolumns() no longer accepts $nullable).
  • Fixed bug #80147 (BINARY strings may not be properly zero-terminated).
  • Fixed bug #80150 (Failure to fetch error message).
  • Fixed bug #80152 (odbc_execute() moves internal pointer of $params).
  • Fixed bug #46050 (odbc_next_result corrupts prepared resource).

OPcache

  • Fixed bug #80083 (Optimizer pass 6 removes variables used for ibm_db2 data binding).
  • Fixed bug #80194 (Assertion failure during block assembly of unreachable free with leading nop).

PCRE

  • Updated to PCRE 10.35.
  • Fixed bug #80118 (Erroneous whitespace match with JIT only).

PDO_ODBC

  • Fixed bug #67465 (NULL Pointer dereference in odbc_handle_preparer).

Standard

  • Fixed bug #80114 (parse_url does not accept URLs with port 0).
  • Fixed bug #76943 (Inconsistent stream_wrapper_restore() errors).
  • Fixed bug #76735 (Incorrect message in fopen on invalid mode).

Tidy

  • Fixed bug #77040 (tidyNode::isHtml() is completely broken).

Commit List

Bob Weinand

  • Fix mysqli build with mysqlnd and without PDO in a7544411df

Christoph M. Becker

Daniel Black

Derick Rethans

Dmitry Stogov

  • Fixed unintended disabling of Optimizer for preloaded scripts introduced by 4a2646cf459 in 3928b6b435
  • Fixed hex char parsing in 583093844e
  • Backport of a partial fix for bug Bug #76982 (memory leak declaring closure in included file) in 773f980e00

Gabríel Arthúr Pétursson

  • ext/soap: Compare Set-Cookie header case-insensitively in efc52f1754

George Peter Banyard

Giovanni Giacobbi

  • Synchronize php.ini-development and php.ini-production in 205556c191

K.Kosako

Matthias Karbe

Máté Kocsis

  • Bug #80107 Add test for mysqli_query() fails for ~16 MB long query when compression is enabled in c7ceebc42c

Nikita Popov

Petr Sumbera

  • Make iconv errno support test pass on Solaris in 07a4185df1

Philip Hofstetter

  • intl: report more information about message pattern parse errors in 74cf2eb83f

Remi Collet

Stanislav Malyshev

Vincent JARDIN

  • Add missing X509 purpose constants in 1e53e14bc3
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.