PHP 7.2 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.2.15 is not recommended. PHP 7.2.34 is the latest version in the series.
Downloads
Source Code
Git Clone
Use Git to clone the 7.2.15 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.2.15
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
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.
php-7.2.15-x64NTS.zip (24.68 MiB)
php-7.2.15-x86NTS.zip (23.03 MiB)
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.
php-7.2.15-x64TS.zip (24.81 MiB)
php-7.2.15-x86TS.zip (23.11 MiB)
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.2.15-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:7.2.15-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.2.15-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:7.2.15-apache
Debian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
docker pull php:7.2.15-fpm
ChangeLog
Core
- Fixed bug #77339 (__callStatic may get incorrect arguments).
- Fixed bug #77494 (Disabling class causes segfault on member access).
- Fixed bug #77530 (PHP crashes when parsing
(2)::class
).
Curl
- Fixed bug #76675 (Segfault with H2 server push).
GD
- Fixed bug #73281 (imagescale(…, IMG_BILINEAR_FIXED) can cause black border).
- Fixed bug #73614 (gdImageFilledArc() doesn't properly draw pies).
- Fixed bug #77272 (
imagescale()
may return image resource on failure). - Fixed bug #77391 (1bpp BMPs may fail to be loaded).
- Fixed bug #77479 (
imagewbmp()
segfaults with very large images).
ldap
- Fixed bug #77440 (
ldap_bind
using ldaps orldap_start_tls()
=exception in libcrypto-1_1-x64.dll).
Mbstring
- Fixed bug #77454 (
mb_scrub()
silently truncates after a null byte).
MySQLnd
- Fixed bug #75684 (In
mysqlnd_ext_plugin.h
the plugin methods family has no external visibility).
Opcache
- Fixed bug #77361 (configure fails on 64-bit AIX when opcache enabled).
OpenSSL
- Fixed bug #77390 (feof might hang on TLS streams in case of fragmented TLS records).
PDO
- Fixed bug #77273 (
array_walk_recursive
corrupts value types leading to PDO failure).
phpdbg
- Fixed bug #76596 (phpdbg support for display_errors=stderr).
Sockets
- Fixed bug #76839 (socket_recvfrom may return an invalid 'from' address on MacOS).
Standard
Commit List
Abyr Valg
- Add a test for fragmented SSL packets in 0c84c2ef50
Alexander Kurilo
- Regenerate certs for openssl tests in 687dad3674
- Regenerate certs for openssl tests in f51062523d
- Regenerate certs for openssl tests in e3e3289bd1
- Generate certs for openssl tests on the fly in 1fab01be5b
- Fix cleaning up after openssl_pkcs7_verify_basic test in 1a1e12c2a9
Anatol Belski
- Update binary SDK version for AppVeyor in 3c7dc7b4c4
- Add memory check to the test in 222fa032d2
- Increase timeout for test on AppVeyor in 54a2b42778
- Fixed bug #75684 In
mysqlnd_ext_plugin.h
the plugin methods family has no external visibility in 7b3f8e746a - Update SDK version for AppVeyor in 8f66ca8189
Andrey Hristov
- Revert visibility in 7a88f89a90
Christoph M. Becker
- Drop deprecated /Gm compile option in 20de58f51d
- Fix #77391: 1bpp BMPs may fail to be loaded in b0cfa28d6d
- Fix #77269: Potential unsigned underflow in gdImageScale in a918020c03
- Fix #77270: imagecolormatch Out Of Bounds Write on Heap in 7a12dad4dd
- Fix #77269: Potential unsigned underflow in gdImageScale in dfd8237aec
- Fix #77270: imagecolormatch Out Of Bounds Write on Heap in 567c9f5842
- Fix #77272:
imagescale()
may return image resource on failure in 772b1cb245 - Fix #73281: imagescale(…, IMG_BILINEAR_FIXED) can cause black border in 6b4cdbaade
- Fix #73614: gdImageFilledArc() doesn't properly draw pies in 61cfa34e11
- Fix #77479:
imagewbmp()
segfaults with very large images in 44fa0b0f31 - Update version for PHP 7.2.15RC1 in 81e0bb6c32
Derick Rethans
- Updated to version 2018.9 (2018i) in 81da7f75e3
- Update tests due to data changes in tzdata 2018i in bd1d2c7bfe
Dmitry Stogov
- Removed /e modifirer and fixed ws in 8db63adb6d
- Fixed bug #77339 (__callStatic may get incorrect arguments) in 7e597f48e9
- Backport later interned strings destruction in 5888fbde0d
- Fixed bug #77494 (Disabling class causes segfault on member access) in 73f222d722
ekinhbayar
- Fixed bug #77530: PHP crashes when parsing "(2)::class" in ef68cd3249
George Wang
- Checkin LiteSpeed SAPI 7.2 in 66d72377d0
Jakub Zelenka
- Update and integrate openssl client proxy test in d9b29029f9
- Fix bug #77390 (feof might hang on TLS streams in case of fragmented TLS records) in dc2ffdeed7
Kevin Adler
- Fix bug #77361 (configure fails on 64-bit AIX when opcache enabled) in 332b58f865
Lauri Kenttä
- Fix seeking in php://input in dbe7f2a41a
Michael Meyer
- Initialize s_un (sockaddr_un) to zero before using it. Fixes #76839 in 3c42c784c2
Nikita Popov
- Fix invalid efree in browscap in 64de5bc224
- Partial fix for bug #75426 in 73596c56e7
- Fixed bug #77273 in cb009b12a5
- Fix self::class inside constant in global scope in 41af1e6781
- Don't swap operands of
ZEND_MUL
in 1165a9068c - Fixed bug #77439 in 5d33024a5d
- Fixed bug #77454 in 3ad0ebdf5c
- Add flag to disable jumptable optimization in 526344aa5e
- Revert "Prefix error_code with underscore in FastZPP implementation" in cce2e33c84
- Make special
assert()
handling independent of compiler flags in 34898e9766
Ondřej Surý
- Fix rl_completion_matches detection in 1ea58b6e78
Pedro Magalhães
- Fixed bug #76675 in 32ae716037
Remi Collet
- bump to 7.2.15-dev in 7161fe629d
- missing entry for #77020 in 3245d1bb09
- cleanup merge in 0d9935739c
- prepare NEWS in 377f18ba5c
- workaround for pear server down in ec23eebfe6
- Update CREDITS for PHP 7.2.15 in 782bbe722d
- Update versions for PHP 7.2.15 in 1b823f9eca
Sara Golemon
- Bump for 7.1.27 in fabade1573
Stanislav Malyshev
- Fix bug #77242 (heap out of bounds read in
xmlrpc_decode()
) in 4fc0bceb7c - Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext) in 428d8164ff
- Fix bug #77370 - check that we do not read past buffer end when parsing multibytes in 20407d06ca
- Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node) in 28362ed4fa
- Fix bug #77380 (Global out of bounds read in xmlrpc base64 code) in 1cc2182bcc
- Fix more issues with encodilng length in c95daa9c75
- Fix bug #77242 (heap out of bounds read in
xmlrpc_decode()
) in 9c62b95e5e - Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext) in 78bd347774
- Fix bug #77370 - check that we do not read past buffer end when parsing multibytes in deb06bbb9c
- Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node) in c6e34d91b8
- Fix bug #77380 (Global out of bounds read in xmlrpc base64 code) in 4feb9e66ff
- Fix more issues with encodilng length in 31f59e1f30
- Fix #77369 - memcpy with negative length via crafted DNS response in 8d3dfabef4
- Fix test in 0c35032012
- Add NEWS in 25c95752d6
- Add NEWS in 08bb0ce4e4
- Fix tests - newer versions check Unicode in d0d0d922de
- Fix bug #77418 - Heap overflow in utf32be_mbc_to_code in 9d6c59eeea
- Still leaking for some reason,
XFAIL
for now, I'll look into it later in 27625f063e
twosee
- Prefix error_code with underscore in FastZPP implementation in 6305119a51
wbob
- document
open_basedir
and realpath cache coupling in php.ini in 5ac9990ddf
Xinchen Hui
- Fixed bug #77395 (segfault about
array_multisort
) in 8ebae84674