PHP 7.4 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.4.23 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.23 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.4.23
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.23-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:7.4.23-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.23-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:7.4.23-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.23-fpm
ChangeLog
Core
- Fixed bug #72595 (
php_output_handler_append
illegal write access). - Fixed bug #66719 (Weird behaviour when using
get_called_class()
withcall_user_func()
). - Fixed bug #81305 (Built-in Webserver Drops Requests With "Upgrade" Header).
BCMath
- Fixed bug #78238 (BCMath returns "-0").
CGI
- Fixed bug #80849 (HTTP Status header truncation).
GD
- Fixed bug #51498 (imagefilledellipse does not work for large circles).
MySQLi
- Fixed bug #74544 (Integer overflow in
mysqli_real_escape_string()
).
OpenSSL
- Fixed bug #81327 (Error build openssl extension on php 7.4.22).
PDO_ODBC
- Fixed bug #81252 (PDO_ODBC doesn't account for SQL_NO_TOTAL).
Shmop
- Fixed bug #81283 (shmop can't read beyond 2147483647 bytes).
Standard
- Fixed bug #72146 (Integer overflow on substr_replace).
- Fixed bug #81265 (getimagesize returns 0 for 256px ICO images).
- Fixed bug #74960 (Heap buffer overflow via str_repeat).
Streams
- Fixed bug #81294 (Segfault when removing a filter).
Commit List
Christoph M. Becker
- Fix #72146: Integer overflow on substr_replace in 33f8dfb15a
- Fix #72595:
php_output_handler_append
illegal write access in a942cf5b02 - Fix #80849: HTTP Status header truncation in a054ef2aad
- Fix #78238: BCMath returns "-0" in bcb89c75ec
- Revert "Fix #79908: json_encode encodes negative zero as int" in 2d2c001ca5
- Fix #74960: Heap buffer overflow via str_repeat in 760ff841a1
- Fix #81283: shmop can't read beyond 2147483647 bytes in 387c0de983
- Fix #81294: Segfault when removing a filter in 1fa26eccba
- Fix #81252: PDO_ODBC doesn't account for SQL_NO_TOTAL in 98049e8b9a
- Fix #81305: Built-in Webserver Drops Requests With "Upgrade" Header in d1ccb5bd0c
- Fix #51498: imagefilledellipse does not work for large circles in c565555f03
- Fix #81327: Error build openssl extension on php 7.4.22 in 6724d5d4c2
- Fix #74544: Integer overflow in
mysqli_real_escape_string()
in 5977610de1 - Fix #81211: Symlinks are followed when creating PHAR archive in 85fd72b66c
Derick Rethans
- Move date timezone cache destruction to post deactivate in 26b1572d37
- Prepare NEWS in 6b50925bca
- Update versions for PHP 7.4.23 in afe3c74a79
George Dietrich
- Fix bug #81265: getimagesize returns 0 for 256px ICO images in 8f97f82e35
Kamil Tekiela
- Prevent mysqli::next_result from reporting errors from previous calls in GH-7304
Nikita Popov
- Drop incorrect cache_slot optimization for typed properties in ba8bcf3992
- Undef slot before destroying in unset_property in ebd3a21002
- Fix bug #66719 in dfd05da97f
Stanislav Malyshev
- Fix test in 93c5b230ef