PHP 7.2 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.2.8 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.8 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.2.8
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.8-x64NTS.zip (24.5 MiB)
php-7.2.8-x86NTS.zip (22.85 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.8-x64TS.zip (24.64 MiB)
php-7.2.8-x86TS.zip (22.93 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.8-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:7.2.8-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.8-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:7.2.8-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.8-fpm
ChangeLog
Core
- Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler).
- Fixed bug #76520 (Object creation leaks memory when executed over HTTP).
- Fixed bug #76502 (Chain of mixed exceptions and errors does not serialize properly).
Date
- Fixed bug #76462 (Undefined property: DateInterval::$f).
EXIF
- Fixed bug #76409 (heap use after free in
_php_stream_free
). - Fixed bug #76423 (Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of
exif.c
). - Fixed bug #76557 (heap-buffer-overflow (READ of size 48) while reading exif data).
FPM
- Fixed bug #73342 (Vulnerability in php-fpm by changing stdin to non-blocking).
GMP
- Fixed bug #74670 (Integer Underflow when unserializing GMP and possible other classes).
intl
- Fixed bug #76556 (get_debug_info handler for BreakIterator shows wrong type).
mbstring
- Fixed bug #76532 (Integer overflow and excessive memory usage in
mb_strimwidth
).
Opcache
- Fixed bug #76477 (Opcache causes empty return value).
PGSQL
- Fixed bug #76548 (pg_fetch_result did not fetch the next row).
phpdbg
- Fix arginfo wrt. optional/required parameters.
Reflection
- Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler).
- Fixed bug #75231 (ReflectionProperty#getValue() incorrectly works with inherited classes).
Standard
- Fixed bug #76505 (
array_merge_recursive()
is duplicating sub-array keys). - Fixed bug #71848 (getimagesize with $imageinfo returns false).
Win32
- Fixed bug #76459 (windows linkinfo lacks openbasedir check).
ZIP
- Fixed bug #76461 (OPSYS_Z_CPM defined instead of OPSYS_CPM).
Commit List
Anatol Belski
- Fix VC compilation as variable size array is not supported in f96df64cb2
- Fix test portability in 66badcdc0c
- Remove inappropriate FreeLibrary call in 7dcfa839c9
- Fixed bug #76462 Undefined property: DateInterval::$f in 7212829435
- Prepare tests for ICU 62.1 in 5af0db88fa
- Don't ignore commits on NEWS, etc. on AppVeyor in 19b4fa17d3
- Sync versions for VC++ 15.8 in 88b5df91f6
- Update SDK version for AppVeyor in f6430e3fe2
- Fixed bug #76548 pg_fetch_result did not fetch the next row in cb97fd3097
- Update libs_version.txt in f8258325b4
Christoph M. Becker
- Fix #76409: heap use after free in
_php_stream_free
in 3fdde65617 - Fix arginfo wrt. optional/required parameters in 6b5597f7d8
- Fix #71848: getimagesize with $imageinfo returns false in ae04110032
- Fix #76556: get_debug_info handler for BreakIterator shows wrong type in 1118fca75d
- Make newly introduced
bug76556.phpt
more resilient in a72bab1b9a
David Carlier
- cast to int to disable compilation warnings in ad52ec3db8
Dmitry Stogov
- Fixed invalid free introduced by d6e81f0b (avoid keeping "invalid" pointer) in 11507c0e1b
- Added parenthesis in 1f726c9925
Jakub Zelenka
- Enable IPv6 in Travis in f9d1d1f36f
- Rewrite FPM tests in ea592e6b6c
- Port FPM test 023 and 024 to the new FPM testing in dd622f9ca9
- Make code in openssl ext tests more consistent in 3c42f64e6e
- Use unix NL in all openssl ext tests in b20bcbc363
- Make new openssl ext tests in 7.2 consitent in d95ee27551
Joe Watkins
- bump versions in e9b8193b24
Johannes Schlüter
- Fix MySQL 8 auth in d6e81f0bfd
Keyur Govande
- Avoid leaking the urandom fd in 695b8192c7
Marcus Schwarz
- Fixed bug #76532 (excessive memory usage in
mb_strimwidth
) in bf5a802f5a
Nikita Popov
- Deduplicate code using
php_timezone_to_string()
in e029019275 - Fix mysqlnd build without openssl in 6c9db02ff7
- Make $locale parameter to BreakIterator ctors optional in e77077edeb
- Fixed bug #73342 in 69dee5c732
- Fixed bug #76520 in ed9d1b708b
- Fixed bug #76502 in 701460ba84
- Fix nullable type pretty-printing in 962706d16c
- Fix typo in compound dim assign op inference in 2eb6a541a9
- Fix handling of void return type on internal functions in 9b0df97a42
- Fixed bug #74670 in c793885b76
- Fix test after serialization change in 787593b708
- Fixed bug #75231 in c97b8bbf82
Pedro Magalhães
- Fix #76300 - Dont attempt to change visibility of a parent private in 13e9a471d7
Remi Collet
- Add OPSYS_CPM constant as documented and to match libzip naming in 075e685439
- NEWS in eb2a3c6c65
- update NEWS in 9a9e7487f7
- Update versions for PHP 7.2.8 in e32dc9aab8
Sara Golemon
- NEWS for 7.2.8 in 917222f395
Stanislav Malyshev
- ICU 59+ requires C++11 and errors out without the option in 5dd1ef90ca
- Revert "ICU 59+ requires C++11 and errors out without the option" in bcf2e10ae7
- Fix test in 919021b23e
Xinchen Hui
- Fixed bug #76477 (Opcache causes empty return value) in f31ba7cb53
- Fixed bug #76505 (
array_merge_recursive()
is duplicating sub-array keys) in 6531719da5 - Update NEWS in e62c6e7dbe
- Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler) in d1b1866a3a
- Update NEWS in 7b98d056d3
- Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence) in 1f6b842af4
- Update NEWS in 809a7b5f8f