PHP 7.2 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.2.0alpha3 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.0alpha3 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.2.0alpha3
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.0alpha3-x64NTS.zip (23.56 MiB)
php-7.2.0alpha3-x86NTS.zip (21.68 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.0alpha3-x64TS.zip (23.63 MiB)
php-7.2.0alpha3-x86TS.zip (21.73 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.0alpha3-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:7.2.0alpha3-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.0alpha3-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:7.2.0alpha3-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.0alpha3-fpm
Commit List
Adam Baratz
- Fixed #69356:
PDOStatement::debugDumpParams()
truncates query in 08089f014c - Fixed bug #69356 in c8bb64c406
- Apply fix for #69356 to "Sent SQL" in 5ed83f7e84
Anatol Belski
- Split requested size as expected by CreateFileMapping in 6a854e2740
- Fix bug #74798 pkcs7_en/decrypt does not work if \x0a is used in content in b714309056
- Relax test condition, as OpenSSL 1.1.x out differs in EOL only in eb68301df1
- Bug #74815 crash with a combination of INI entries at startup in e08c0ed8ce
- fix C++ compat in c71b773a62
- yet one C++ compat fix in d0b7eed0c9
- Fixed bug #74849 Process is started as interactive shell in PhpStorm in 8871d2d12e
Bob Weinand
- Fixed bug #73944 (
inflate_init()
dictionary option) - add NEWS entry in fda0a8b735 - Expose
inflate_get_status()
andinflate_get_read_len()
functions in cfee5116dd - Fixed bug #74840 (Opcache overwrites argument of GENERATOR_RETURN within finally) in e3cc15daf2
Christopher Jones
- Update OCI8 version test and package.xml in 1bdc290017
- Remove use of obsolete
create_function()
in 3fbbcf7f93 - Add IN bind case to
bug74625.phpt
in b4c5f20c46 - Add bug #74625 to package.xml in cda87977a5
- Update NEWS in c288ed44a2
- Update NEWS in 1dfb63feca
danchukas
- fix method "eof" in b255b97e43
Dmitry Stogov
- FE_RESER/FE_FETCH optimisation in 31a2198fd9
- Added specialized FE_FETCH_R handler for iteration over array in 7802cf8c1a
- Clear alocated memory blocks, only if this is really necessary in c16f954ff1
- Use request heap in 687123ebf2
- Use persistent heap only for persistent connections in c61cea7135
- Avoid useless duplication in 7af5741333
- Setting CG(unclean_shutdown) in fast shutdown doesn't make a lot of sense (it was set to prevent memory leak messages, but we doesn't check memory leaks in RELEASE build anyway) in 9b201aec07
- We don't need any special handling for CG(unclean_shutdown) at this point, because in case of
exit()
ordie()
all destructors must be already called before in 06e41cadd9 - Fixed few test failures if php.ini contains zend.assertions=-1 in c7a75b7112
- Fixed SKIP code in 9fb0e6ffe2
shutdown_executor()
refactoring (reuse opcache fast request shutdown code) in f25ecdacf8- Reuse "nIndex" in 40ed9aaa48
- Reseet EG(active) a bit early in 866d3b40e9
- Removed EG(valid_symbol_table). Used EG(active) instead in caaeb4849a
- Cleanup. Removed unused functions and unimplemented prototype. Avoid useless "dtor_obj" calls in 908ce66f73
- Removed deprecated checks in c0be77aa75
- Avoid string duplication in
preg_split()
in f626a783b6 - We don't have to use "persistent" heap with PHP-7 HashTable(s) in c23ffaa211
- Split
zend_init_execute_data()
intozend_init_func_execute_data()
andzend_init_code_execute_data()
in bbb786c85b - Use
zval_ptr_dtor_nogc()
for data that can't be circular in e111bccd48 - Use inlined version of
zval_ptr_dtor()
inarray_map()
loop in 5a51da9942 - Use inlined version of
zval_ptr_dytor()
invar_destroy()
loop in 10dc924999 - Added missed opcodes in 55cd4e859b
- Revert "Avoid run-time checks performed at compile-time." in 02ef5d3803
- Fixed bug #74836 (isset on zero-prefixed numeric indexes in array broken) in bfa24e3488
- Get rid of old compatibility macros in b685991b44
- Compile/optimisation-time constants can't be circular, but in general may be reference-countable. It's better to use
zval_ptr_dtor_nogc()
to release them in 10dbc0b2e7
Francois Laupretre
- Allow loading PHP and Zend extensions by name in fe5c8f2b80
George Wang
- [BUGFIX] fixes the issue that a value from .user.ini displays in
phpinfo()
, but not applies in 751d19f698
ideal
- Fix error if compiled without -fpermissive flag in 4d6100569b
Ingmar Runge
- Fixed bug #74625 (Integer overflow in oci_bind_array_by_name) in fa3615f14e
Jakub Zelenka
- Update NEWS with info about openssl pkcs7 read and verify changes in bf8717594c
- Add OPENSSL_DONT_ZERO_PAD_KEY constant to prevent key padding in 0c707fcb10
Jelle van der Waa
- Add openssl_pkcs7_read and output P7B in openssl_pkcs7_verify in 787a18a50a
jhdxr
- fix bug #74780
parse_url()
borken when query string contains colon in db287b2303 - fix bug #73471 PHP freezes with AppendIterator in 81c2a4b9ba
Joe Watkins
- bump versions in 78bec63ad9
- fix news in 36d064be12
Julien Pauli
- Fix bug #74832, crash in extension loading in 3f4340a796
- Updated NEWS in 2a1ad88538
- Updated NEWS in 72f7143295
Marat Nagayev
- fix news in 99b611958f
Matthew Trescott
- Add more constants, improve comments, and add tests in 0c4f11ecaa
Michael Moussa
- Add test for bug #52480 in 9437dcd621
Michał Brzuchalski
- Implement object type annotation in 8e10c9d373
Nikita Popov
- Make inference robust against infinite loop in 4948da178a
- Fixed bug #74623 in 5b5a92b8b6
- Don't leave holes in
func_get_args()
and backtraces in de66e80d75 - Fixed bug #74810 in ed37ca7369
- Fix FEFETCH* exception check in c136afa2be
- Remove unnecessary string copy in 6dd2eaf45c
- Move va_copy compatibility code into
zend_portability.h
in 205807f60e - Extract
zend_get_callable_name()
API in ee8e75aab4 - Only compute callback name in error cases in 035a27cbc6
- Drop
soap_hash_str_find_deref()
in 1f924d75cb - Fixed bug #73900 in 2fddc4a7f1
- Fixed bug #73173 in 604827b694
- Fix typo in 9dfcb04f10
- Fix format arguments in e5741da85c
- Fix tests on Windows in b3849edf2c
- Fix
zend_get_zval_ptr()
in 4465b37105 - Fixed bug #74101 and bug #74614 in d02f953faf
Niklas Keller
- Fix name in NEWS in 3250fa09b2
Peter Kokot
- Fix configure error in 660250f4da
Remi Collet
- fix version in 8e98a44eb2
ZEND_ACC_CLONE
is removed in 754e1c463d- note about
php_pcre_replace*
in 59c30c01b3 - note about IS_TYPE_IMMUTABLE in b3b8627106
- not about
zend_arg_info.c
lass_name in 4ed8ff5090 - upgrading: doc about
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX
in b6ee9dd490 - Update versions for PHP 7.2.0alpha3 in 9c1a1603ba
Richard Fussenegger
- Fixed
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO
macro in 66e5dc5b9b
Sara Golemon
- Minor refactor of load extension by name impl in d09edf7b34
- Produce a better exception message when IntlDateFormatter constructor fails in ecaf408d30
- Release temporary string reference in 24030d54d8
- Add NEWS entry and a test for Bug#71412 in f066f59eab
Stanislav Malyshev
- Fix bug #73648 - integer overflow in substr in 14c422a32f
- Fix bug #73634 - grapheme_strpos illegal memory access in 18b6de7a91
Thomas Punt
- Remove superfluous branch in b1301a0686
Tom Van Looy
- Remove unused variable op2. It is redeclared later in 60d032d65e
- Remove superfluous semicolons in 04fb3f28ff
Tyson Andre
- Fix typo in PHP 7.1.8 news in a99c5f28c5
- Fixes Bug #71412 Incorrect ArrayIterator __construct signature in 96fe07e006
wapmorgan
- Remove invalid check of dictionary content and add initialization of dictionary if raw compression used in cd1869bcf2
Yasuo Ohgaki
- Fixed bug #74514 5 session functions incorrectly warn when calling in read-only/getter mode in a2d766503a