PHP 7.2 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.2.20 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.20 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.2.20
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.20-x64NTS.zip (24.83 MiB)
php-7.2.20-x86NTS.zip (23.18 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.20-x64TS.zip (24.97 MiB)
php-7.2.20-x86TS.zip (23.25 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.20-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:7.2.20-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.20-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:7.2.20-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.20-fpm
ChangeLog
Core
- Fixed bug #76980 (Interface gets skipped if autoloader throws an exception).
DOM
- Fixed bug #78025 (segfault when accessing properties of DOMDocumentType).
MySQLi
- Fixed bug #77956 (When mysqli.allow_local_infile = Off, use a meaningful error message).
- Fixed bug GH-38546 (bindParam incorrect processing of bool types).
Opcache
- Fixed bug #78106 (Path resolution fails if opcache disabled during request).
- Fixed bug #78185 (File cache no longer works).
OpenSSL
- Fixed bug #78079 (
openssl_encrypt_ccm.phpt
fails with OpenSSL 1.1.1c).
Sockets
- Fixed bug #78038 (Socket_select fails when resource array contains references).
Standard
Zip
- Fixed bug #76345 (
zip.h
not found).
Commit List
Anatol Belski
- Fix var name in d293f6dcff
- Change ZPP only if compiled with ICU >= 64 in ee153deb1f
- Update SDK version for AppVeyor in 59b0b38d3c
Cameron Porter
- Fixed bug GH-38546 in 7d1aa7534d
Christoph M. Becker
- Fix #78025: segfault when accessing properties of DOMDocumentType in e246dea9fe
- Fix test wrt. opcache.error_log in 64ec9f4dbe
- Prevent test case failure in e6a191de1b
- Fix test case for cURL 7.65.0 in 62fe6ba20c
- Fix #77973: Uninitialized read in gdImageCreateFromXbm in ed6dee9a19
- Fix test regarding Unix Domain Sockets on Windows in 2df32942d3
- Fix #77937: preg_match failed in f3ff72e54b
Craig Duncan
- Add tests for DatePeriod properties in 5d67271db0
- Ensure the internal properties cannot be overwritten in dc586bff36
- Add a test for bug #65672 in 8b53c7232e
Dmitry Stogov
- Prevent race condition in
opcache_reset()
in a8a019d68a - Fixed race condition in opcache restart in fa6a4483e6
- Fixed bug #77135 (Extract with EXTR_SKIP should skip $this) in 83cdb89f8a
- Restored NEWS entry in 10b208f28d
- Fixed possible misalignment in 32-bit build in 199eb2b110
- Backport 91a6cdbf in 6c225a6318
- Backport 96a12578 in 99dde02e11
- Fixed bug #78185 (File cache no longer works) in d51108d5df
Holly Li (WIPRO LIMITED)
- use {TMP} placeholder in phpt tests in 202e6936d6
Jakub Zelenka
- Add fpmi to the opcache supported sapis in 8baf3ffde6
- Fix bug #78079 (
openssl_encrypt_ccm.phpt
fails with OpenSSL 1.1.1c) in 2e02579474
Joe Watkins
- bump version after release in 5533f2490a
- disabled functions must not have return type in 7821cc3b9f
- fix flaky posix test in f4474e5724
Michael Maroszek
- Fixed bug #76345 in a0c9d0849a
Nikita Popov
- Fixed bug #76980 in 35353dc49a
- Use a different URL in
bug44811.phpt
in 3a0de243c3 - Fixed bug #78038 socket_select with references in 9a74b23297
- Fix type inference of SEND_UNPACK with empty array in 59dfaa3f99
- Update tests for ICU 64 in b01d9fdab1
- Clear errors after SSL_CTX_load_verify_locations() in ac60007bec
- Reload tsrmls_id in release builds as well in 2d3bc71e89
- Fixed bug #78050 in a3e6b50442
- Enable STRICT_TRANS_TABLES in new test in d7c7522be9
- Add test for bug #78106 in f6c93431b3
- Fixed bug #78106 in 42c7d5106b
Rasmus Lerdorf
- Fix precedence issue causing sub-second timeouts to be 0 in in 7b42cdf95e
Remi Collet
- add NEWS entries for sec fix in 3051147019
- Update CREDITS for PHP 7.2.20RC1 in 8f7fa350a7
- add NEWS entry for RC2 in a05fed038b
- add test for #78185 in a28383c927
- add NEWS entry in e3ee3135fd
- improve test clean section in c12dc24699
- fix test for Windows and for parallel run in 76b2e5d16d
- prepare NEWS for GA in e8b41bb7e4
- Update versions for PHP 7.2.20 in 0b8cd4bd96
Sara Golemon
- Bump for 7.2.20 in 4fa32d67bf
Sjon Hortensius
- Fix #77956 - When mysqli.allow_local_infile = Off, return a client error in 96404eb8e2
Stanislav Malyshev
- Fix bug #78069 - Out-of-bounds read in
iconv.c
:_php_iconv_mime_decode()
due to integer overflow in 7cf7148a8f - Update NEWS in 16e037bd46
- Fix function name in 9bca9ef6cf
- Fix bug #77988 - heap-buffer-overflow on php_jpg_get16 in 73ff4193be
- Fix bug #77967 - Bypassing
open_basedir
restrictions via file uris in c34895e837
Vincent JARDIN
- Support content_type stream context option in soap in 5f8c22d415