PHP 7.2.0beta1: Downloads, Changelog, News

Release Information

Release
7.2.0beta1
PHP Version
PHP 7.2
Release Date
Release Type
Bug Fix Release
Release Status
EOL, Use PHP 7.2.34
Branch Status
Unsupported

PHP 7.2 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.2.0beta1 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.0beta1 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.2.0beta1
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (./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.
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.

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.0beta1-cli-alpine

Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:7.2.0beta1-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.0beta1-fpm-alpine

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:7.2.0beta1-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.0beta1-fpm

Commit List

Anatol Belski

Andreas Treichel

  • Implement Countable for DomNodeList and DOMNamedNodeMap (Request #74837) in f725d9b1b9

Andrey Andreev

  • Add missing NEWS entry, update UPGRADING in ce4e07e37d

Christopher Jones

Christoph M. Becker

Côme Chilliet

  • Added EXOP features based on patch from http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/databases/php-ldap/files/ldap-ctrl-exop56.patch in a0920f2822
  • Fixed building errors in LDAP EXOP in def09c7cab
  • Fixed ldap_exop_passwd and added tests for it in ae76c8ba2c
  • Fixed ldap_exop_whoami and added a test for it in fdafd68419
  • Fixed ldap_parse_exop_whoami and ldap_parse_exop_passwd and added test for them in 28530b2f1c
  • Fixed ldap_exop and ldap_parse_exop. Only tested them for whoami exop. (see test file) in e832ce4b22
  • Removed ldap_refresh function as I’m not sure how to fix/use/test it in 4652c46245
  • Added constants for standard EXOPs in 9aa99cc34c
  • Removed TODOs regarding implementing passwd and whoami exops based on ldap_exop in 413e9c84f6
  • Improved ldap_exop test to encode&decode a passwd EXOP to test sending/recieving data in 5020325a6f
  • Removed two step syntax for EXOP helpers, one call workflow is enough in e9001cab46
  • Swapped position of retoid and retdata as retoid is almost never used in bda80aa332
  • Removed TSRMLS_CC instances left over by LDAP EXOP patch in e05d230e52
  • Removed unused variables left over by LDAP EXOP patch in 13062efd02
  • Changed API to avoid using passing result by reference in 3207747b9e
  • Test ldap_exop_passwd with less parameters to be sure it works in 209c9ba384
  • Added support for controls to ldap_get_option in 3a09c1246c
  • Added constants for known ldap controls OID and tests for ldap_get/set_option for controls in 274d84139b
  • Small fix in ext/ldap, Moved vars definitions to the beginning of the block using them in ed8bfcc6ea
  • Filled in NEWS file with ext/ldap last modifications in 4219ca966e
  • Fixed removing all controls by passing an empty array to ldap_set_option in a148ee8c7c
  • Updated NEWS file with LDAP changes in 9bcd93201f

Derick Rethans

  • Fixed parsing of strange formats with mixed month/day and time strings in e8b7698f5e

Dmitry Stogov

  • Separate constants propagation code shatred between "first" and "block" passes into helper functions in 6276268b77
  • Check for exceptional cases before actual constant evaluation in 0965a4ef9f
  • Keep information about SSA variables, that may be modified indirectly in acffb7a080
  • Fixed final dump "after optimizer" in 7bb4ae59c3
  • Added missed dump of "main" script code in fc336c78e7
  • Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()) in 29653da385
  • Revert "Fixed bug #74878" in 161c378cc8
  • Fixed memory leak introduced by 7cb5bdf6 in 7be2637dce
  • Fixed compilation error in 2b7d3fb45f
  • Value of EG(user_exception_handler) should't relive request boundary in 43e283fd64
  • Resources should be closed during object destructioin, not during freeing in 09d3b7386c
  • Added goblal optimisation passes based on data flow analyses using SSA form: in 2a286ad599
  • Allocate additional slot for third argument in b31e77dbea
  • Removed vim mode lines. zend_vm_opcodes.h loses these lines after regeneration. Lines in zend_vm_def.h lead to insertion inthe middle of zend_vm_execute.h in 5b0e6248e6
  • Fixed CFG/SSA construction (avoid multiple identical predecessors) in d9d3b2c206
  • Separate ISSET_ISEMPTY_CV/UNSET_CV from ISSET_ISEMPTY_VAR/UNSET_VAR in 1180d8c801
  • Constant evaluation of in_array() (support for more cases) in eb6c7471cb
  • Constant evaluation of in_array() (support for more cases) in 3754272818
  • gc_check_possible_root() may throw exception in f49ee79e95
  • Added NEWS entry in bb743ca62d

Ferenc Kovacs

  • move NEWS entry to the correct place, also bump the version in 7991a88675
  • add missing NEWS entry for #74087 and also fix the formatting in 390f64701d

Francois Laupretre

  • Fixed bug #74866 extension_dir = "./ext" now use current directory for base in 0782a7fc63

Frank Denis

  • Revert "fix macro redifinitions" in dfac71d096
  • sodium ext: update the cryptokx*() API to the libsodium one in 6ac6d2c64a
  • sodium ext: remove function names before exception messages in a5258ed645
  • sodium ext: sort prototypes in 8e8fbf51f7
  • sodium ext: add bindings for keygen() functions in b071fcb81d
  • sodium ext: remove unused sodiumrandombytes*() prototypes in aa32d989c7
  • sodium ext: implement sodium_crypto_kdf() in 09b15e4f30

Jakub Zelenka

  • Add JSON_INVALID_UTF8_SUBSTITUTE and JSON_INVALID_UTF8_IGNORE in 0d0f7cde8c
  • Introduce internal php_json_encode_ex to allow extensions setting depth in 9c58822653
  • Bump PHP_JSON_VERSION to 1.6.0 in 18180bb161
  • Allow setting SNI cert and pk in separate files in c08dba3431
  • Make consitent naming and improve CS in xp_ssl in 5381ff757d
  • Make functions in openssl.c more consistent in 90ae2aec8c
  • Add support for OpenSSL security level in 26982e36d5

jhdxr

  • Fixed bug #74852 (property_exists returns true on unknown DateInterval property) in 5cf54f6073

Joe Watkins

Kalle Sommer Nielsen

  • Write the URL on a new line, so that it is easier copyable in c5f83f3426
  • Expand sb's name and capitalize my own in 4be4a38d99
  • Fix redefine warnings in 9507d14584
  • Fixed bug #72324 (imap_mailboxmsginfo() return wrong size) in 5a991ea49b
  • Fixed bug #74428 (exif_read_data(): "Illegal IFD size" warning occurs with correct exif format) in 900ce92c9a
  • Fixed bug #50660 (exif_read_data(): Illegal IFD offset (works fine with other exif readers)) in cd8d0aad7f
  • This should be EXPECT instead of EXPECTF in babc3c522f
  • We currently don't use the guessing code, so don't compile it in 134047dfde
  • Added test case for bug #73115 which was fixed by recently fixed bugs in 469206c84e
  • Fixed file name for case sensitive file systems in 106386dd98
  • Add myself as exif maintainer in b1fd08d94c
  • Deprecated the read_exif_data() alias in ba28d75c2c
  • Fix test in 38d019979e
  • Silent compiler warning in 7bb696dc49
    • Implemented #65187 (exif_read_data/thumbnail: add support for stream resource) in 969eb8345b
  • We need to check for the length here too, or we crash and no one likes that! :( in 363bb03b7e
  • Remove debug code in 7845182edd
  • Fix compile error with EXIF_DEBUG in 9cf586cdfb
  • Don't add a new line to undefined tags in EXIF_DEBUG mode in bf7f6f9078
  • Turn off EXIF_DEBUG so Travis don't complain at me in f7d9f6456c
  • Ensure that the stream position is kept between reads in 997e2e5452
  • Fix test title in 333c362178
  • WS in 4d684a6cd7

Lior Kaplan

  • SIZEOF_SIZE_T doesn't exist on AIX and POWER8 (ppc64le), keep using SIZEOF_LONG in c2c60fcac7

Nikita Popov

Paragon Initiative Enterprises

Pedro Magalhães

  • #73594 tests only check the extra params if dns_get_record is successful in 2689917b17
  • Fix #49649 - Handle property visibility changes on unserialization in 7cb5bdf64a

Peter Kokot

  • Fixed bug 74913 redirecting incorrect include <sys/poll.h> in 0db20a7cb1
  • Fixed bug #74906 redirecting incorrect include <sys/errno.h> in 4d08b9dac0
  • Fixed bug #74906 redirecting incorrect include <sys/errno.h> in 9780d16376

Remi Collet

Sara Golemon

Sebastian Bergmann

Stanislav Malyshev

Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Wednesday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.