PHP 7.4.1: Downloads, Changelog, News

Release Information

Release
7.4.1
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.1 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.1 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.4.1
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.1-cli-alpine

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

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

ChangeLog

Core

  • Fixed bug #78810 (RW fetches do not throw "uninitialized property" exception).
  • Fixed bug #78868 (Calling __autoload() with incorrect EG(fake_scope) value).
  • Fixed bug #78296 (is_file fails to detect file).
  • Fixed bug #78883 (fgets(STDIN) fails on Windows).
  • Fixed bug #78898 (call_user_func(['parent', ...]) fails while other succeed).
  • Fixed bug #78904 (Uninitialized property triggers __get()).
  • Fixed bug #78926 (Segmentation fault on Symfony cache:clear).

GD

  • Fixed bug #78849 (GD build broken with -D SIGNED_COMPARE_SLOW).
  • Fixed bug #78923 (Artifacts when convoluting image with transparency).

FPM

  • Fixed bug #76601 (Partially working php-fpm ater incomplete reload).
  • Fixed bug #78889 (php-fpm service fails to start).
  • Fixed bug #78916 (php-fpm 7.4.0 don't send mail via mail()).

Intl

  • Implemented FR #78912 (INTL Support for accounting format).

Mysqlnd

  • Fixed bug #78823 (ZLIB_LIBS not added to EXTRA_LIBS).

OPcache

  • Fixed $x = (bool)$x; with opcache (should emit undeclared variable notice).
  • Fixed bug #78935 (Preloading removes classes that have dependencies).

PCRE

  • Fixed bug #78853 (preg_match() may return integer > 1).

Reflection

  • Fixed bug #78895 (Reflection detects abstract non-static class as abstract static. IS_IMPLICIT_ABSTRACT is not longer used).

Standard

  • Fixed bug #77638 (var_export'ing certain class instances segfaults).
  • Fixed bug #78840 (imploding $GLOBALS crashes).
  • Fixed bug #78833 (Integer overflow in pack causes out-of-bound access).
  • Fixed bug #78814 (strip_tags allows / in tag name => whitelist bypass).

Commit List

Adam Harvey

  • Make the UPGRADING note about ArrayObject more explicit in 00df73c30d

Arjen de Korte

Christoph M. Becker

Derick Rethans

Dmitry Stogov

  • Fixed bug #78714 (funcs returning pointer can't use call convention spec) in ecd0c5b6ad
  • ws in c3f23642da
  • Fixed wrong constant usage in 9083e178f6
  • Fixed bug #78868 (Calling __autoload() with incorrect EG(fake_scope) value) in bb30fe9e2b
  • Fixed bug #78895 (Reflection detects abstract non-static class as abstract static. IS_IMPLICIT_ABSTRACT is not longer used) in 42a2fb8411
  • Call zend_unregister_ini_entries() when unload extension loaded through dl() without MSHUTDOWN callback in 92c23e1fd3
  • Export zend_init_func_run_time_cache() in 03d1c788ea

Fabien Villepinte

George Wang

  • Added environment LSAPI_CLEAN_SHUTDOWN to control clean shutdown. Update SAPI version to LiteSpeed v7.6 in c7141412ce

Jakub Zelenka

Maksim Nikulin

  • Do not let PHP-FPM children miss SIGTERM, SIGQUIT in e37bd5dcc2

Nikita Popov

Remi Collet

Stanislav Malyshev

Tyson Andre

  • Fix $x = (bool)$x; for undefined with opcache in a2c41c0ea6
  • Handle reallocated root buffer during GC destroy phase (v2) in b037fe5bd1
  • Fix print_r return types in opcache in c8e9aa854c

willson-chen

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 💜