PHP 7.4 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.4.24 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.24 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.4.24
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.
./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
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.24-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:7.4.24-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.24-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:7.4.24-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.24-fpm
ChangeLog
Core
- Fixed bug #81302 (Stream position after stream filter removed).
- Fixed bug #81346 (Non-seekable streams don't update position after write).
- Fixed bug #73122 (Integer Overflow when concatenating strings).
GD
- Fixed bug #53580 (During resize gdImageCopyResampled cause colors change).
Opcache
- Fixed bug #81353 (segfault with preloading and statically bound closure).
Shmop
- Fixed bug #81407 (shmop_open won't attach and causes php to crash).
Standard
- Fixed bug #71542 (disk_total_space does not work with relative paths).
- Fixed bug #81400 (Unterminated string in
dns_get_record()
results).
SysVMsg
- Fixed bug #78819 (Heap Overflow in msg_send).
XML
- Fixed bug #81351 (
xml_parse
may fail, but has no error code).
Zip
- Fixed bug #81420 (
ZipArchive::extractTo
extracts outside of destination). (CVE-2021-21706)
Commit List
Alexey Zamorov
- Avoid dangling pointer in curl header.str in 8c292a2f9d
Christoph M. Becker
- Fix #81302: Stream position after stream filter removed in 40b31fcc80
- Fix #81346: Non-seekable streams don't update position after write in 4a1af1f871
- Fix
SKIPIF
clause in 47aaffcdee - Fix #81351:
xml_parse
may fail, but has no error code in 80a377e69b - Fix #71542: disk_total_space does not work with relative paths in f924e97269
- Fix #73122: Integer Overflow when concatenating strings in f1ce8d5f58
- Revert "Fix #73122: Integer Overflow when concatenating strings" in f3c45c1731
- Fix #73122: Integer Overflow when concatenating strings in 0b7dffb41f
- Fix #78819: Heap Overflow in msg_send in 9494b1cdc4
- Fix #81211: Symlinks are followed when creating PHAR archive in 2ff853aa11
- 7.3.31 is next in 521bd7ce15
- Fix #53580: During resize gdImageCopyResampled cause colors change in 526407ca35
- Fix #81400: Unterminated string in
dns_get_record()
results in edab9ad205 - Fix #81407: shmop_open won't attach and causes php to crash in f3d24af74f
- Fix #81420:
ZipArchive::extractTo
extracts outside of destination in 648dce9ea9 - Prepare for 7.4.24, take #2 in 064af1714b
Derick Rethans
- Prepare for 7.4.24 in 79d564a8cc
- Backport speling fix in 3677db6386
- Prepare for 7.4.24 in b10ed3d95b
- Update versions for PHP 7.4.24 in 7d959d1654
Nikita Popov
- Fix port clash in socket tests in 78cbe56e68
- Fixed bug #81353 in d1e956ff31
- Prevent bailout during imap shutdown error reporting in bcc2f0705d
- Backport Laravel test hack in 51147e2f18
- Fix
Closure::call()
on internal method closure in eda9f5f740 - Error on resource ID space overflow in 501f1a45f5
- Fix
curl_copy_handle()
with CURLINFO_HEADER_OUT in 30e791ed56 - Fix persistent smart_str allocation in 2f8eaf2da3
Stanislav Malyshev
- Update NEWS in b2008ab97d
- Fix test in b815645aac