Home > News content

PHP 7.2.0 officially released, multiple content repair

via:开源中国     time:2017/12/1 18:06:17     readed:805


This version is mainly to repair bug, and the improvement log is as follows:

30 Nov 2017, PHP 7.2.0

- BCMath:

. Fixed bug #46564 (bcmod truncates fractionals). (liborm85)

- CLI:

. Fixed bug #74849 (Process is started as interactive shell in PhpStorm).


. Fixed bug #74979 (Interactive shell opening instead of script execution

With -f flag). (Anatol)

- CLI server:

. Fixed bug #60471 (Random

Script). (SammyK)

- Core:


ZEND_FUNC_NUM_ARGS, ZEND_FUNC_GET_ARGS instructions, to implement

Corresponding builtin functions. (Dmitry)


Added ZEND_IN_ARRAY instruction, implementing optimized in_array () builtin

Function, through hash lookup in flipped array. (Dmitry)


Removed the sql.safe_mode directive. (Kalle)

Removed support for Netware. (Kalle)

Renamed ReflectionClass:: isIterateable () to ReflectionClass:: isIterable ()

(alias original name for BC (Sara)).

. Fixed bug #54535 (WSA cleanup executes before MSHUTDOWN). (Kalle)

. Implemented FR #69791 (Disallow mail header injections by extra headers)


Implemented FR # 49806 (proc_nice () for Windows). (Kalle)

Fix pthreads detection when cross-compiling (ffontaine)

Fixed memory leaks caused by exceptions thrown from destructors. (Bob,


Fixed bug # 73215 (uniqid () should use better random source). (Yasuo)

Implemented FR # 72768 (Add ENABLE_VIRTUAL_TERMINAL_PROCESSING flag for

php.exe). (Michele Locati)

Implemented & quot; Convert numeric keys in object / array casts & quot; RFC, fixes

bugs # 53838, # 61655, # 66173, # 70925, # 72254, etc. (Andrea)

Implemented & quot; Deprecate and Remove Bareword (Unquoted) Strings & quot; RFC.

(Rowan Collins)

Raised minimum supported Windows versions to Windows 7 / Server 2008 R2.


Implemented minor optimization in array_keys / array_values ​​(). (Sara)

Added PHP_OS_FAMILY constant to determine on which OS we are. (Jan Altensen)

Fixed bug # 73987 (Method compatibility check looks to original

definition and not parent). (pmmaga)

Fixed bug # 73991 (JSON_OBJECT_AS_ARRAY not respected). (Sara)

Fixed bug # 74053 (Corrupted class entries on shutdown when a destructor

spawns another object). (jim at commercebyte dot com)

Fixed bug # 73971 (Filename got limited to MAX_PATH on Win32 when scan

directory). (Anatol)

Fixed bug # 72359, bug # 72451, bug # 73706, bug # 71115 and others related

to interned strings handling in TS builds. (Anatol, Dmitry)

Implemented & quot; Trailing Commas In List Syntax & quot; RFC for group use lists only.

(Sammy Kaye Powers)

Fixed bug # 74269 (It's possible to override trait property with different

loosely-equal value). (pmmaga)

Fixed bug # 61970 (Restraining __construct () access level in subclass gives

a fatal error). (pmmaga)

Fixed bug # 63384 (Can not override an abstract method with an abstract

method). (pmmaga, wes)

Fixed bug # 74607 (Traits enforce different inheritance rules). (Pmmaga)

. Fixed misparsing of abstract unix domain socket names. (Sara)

Change PHP_OS_FAMILY value from & quot; OSX & quot; to & quot; Darwin & quot ;. (Sebastian, Kalle)

Allow loading PHP / Zend extensions by name in ini files (extension = & lt; name & gt;).

(francois at tekwire dot net)

Added object type annotation. (Brzuchal)

Fixed bug # 74815 (crash with a combination of INI entries at startup).


Fixed bug # 74836 (isset on zero-prefixed numeric indexes in array broken).


Added new VM instuctions ISSET_ISEMPTY_CV and UNSET_CV. Previously they

were implemented as ISSET_ISEMPTY_VAR and UNSET_VAR variants with

ZEND_QUICK_SET flag. (Nikita, Dmitry)

Fixed bug # 49649 (unserialize () does not handle changes in property

visibility). (pmmaga)

Fixed # 74866 (extension_dir = & quot; ./ext & quot; now use current directory for base).

(Francois Laupretre)

Implemented FR # 74963 (Improved error message on fetching property of

non-object). (Laruence)

Fixed Bug # 75142 (buildcheck.sh check for autoconf version needs to be updated

for v2.64). (zizzy at zizzy dot net, Remi)

Fixed bug # 74878 (Data race in ZTS builds). (Nikita, Dmitry)

Fixed bug # 75515 (& quot; stream_copy_to_stream & quot; does not stream anymore). (Sara)

- cURL:

Fixed bug # 75093 (OpenSSL support not detected). (Remi)

Better fix for # 74125 (use pkg-config instead of curl-config). (Remi)

- Date:

Fixed bug # 55407 (Impossible to prototype DateTime :: createFromFormat).


Implemented FR # 71520 (Adding the DateTime constants to the

DateTimeInterface interface). (Majkl578)

Fixed bug # 75149 (redefinition of typedefs ttinfo and t1info). (Remi)

Fixed bug # 75222 (DateInterval microseconds property always 0). (Jhdxr)

- Dba:

Fixed bug # 72885 (flatfile: dba_fetch () fails to read replaced entry).


- DOM:

Implement # 74837 (Implement Countable for DomNodeList and DOMNamedNodeMap).

(Andreas Treichel)


Added support for vendor specific tags for the following formats:

Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma / Foveon, AGFA,

Kyocera, Ricoh & amp; Epson. (Kalle)

Fixed bug # 72682 (exif_read_data () fails to read all data for some

images). (Kalle)

Fixed bug # 71534 (Type confusion in exif_read_data () leading to heap

overflow in debug mode). (hlt99 at blinkenshell dot org, Kalle)

Fixed bug # 68547 (Exif Header component value check error).

(sjh21a at gmail dot com, Kalle)

Fixed bug # 66443 (Corrupt EXIF ​​header: maximum directory nesting level

reached for some cameras). (Kalle)

Fixed Redhat bug # 1362571 (PHP not returning full results for

exif_read_data function). (Kalle)

Implemented # 65187 (exif_read_data / thumbnail: add support for stream

resource). (Kalle)

. Deprecated the read_exif_data () alias. (Kalle)

Fixed bug # 74428 (exif_read_data (): & quot; Illegal IFD size & quot; warning occurs with

correct exif format). (bradpiccho at gmail dot com, Kalle)

Fixed bug # 72819 (EXIF thumbnails not read anymore). (Kalle)

Fixed bug # 62523 (php crashes with segfault when exif_read_data called).


Fixed bug # 50660 (exif_read_data (): Illegal IFD offset (works fine with

other exif readers). (skinny dot bravo at gmail dot com, Kalle)

- Fileinfo:

. Upgrade bundled libmagic to 5.31. (Anatol)

- FPM:

. Configuration to limit fpm slow log trace callers. (Sannis)

Fixed bug # 75212 (php_value acts like php_admin_value). (Remi)

- FTP:

Implement MLSD for structured listing of directories. (Blar)

Added ftp_append () function. (Blar)

- GD:

Implemented imageresolution as getter and setter (Christoph)

Fixed bug # 74744 (gd.h: stdarg.h include missing for va_list use in

gdErrorMethod). (rainer dot jung at kippdata dot de, cmb)

Fixed bug # 75111 (Memory disclosure or DoS via crafted .bmp image). (Cmb)

- GMP:

Fixed bug # 70896 (gmp_fact () silently ignores non-integer input). (Sara)

- Hash:

Changed HashContext from resource to. Object. (Rouven We beta Ling, Sara)

. Disallowed usage of non-cryptographic hash functions with HMAC and PBKDF2.

(Andrey Andreev, Nikita)

Fixed Bug # 75284 (sha3 is not supported on bigendian machine). (Remi)


Fixed bug # 72324 (imap_mailboxmsginfo () return wrong size).

(ronaldpoon at udomain dot com dot hk, Kalle)

- Intl:

. Fixed bug #63790 (test using Spoofchecker which may be unavailable). (Sara)

. Fixed bug #75378 ([REGRESSION] IntlDateFormatter::parse() does not change

$position argument (Laruence)).



Json_encode and json_decode to ignore or replace invalid UTF-8 byte

sequences - it addresses request #65082. (Jakub Zelenka)

. Fixed bug #75185 (Buffer overflow in json_decode() with


. Fixed bug #68567 (JSON_PARTIAL_OUTPUT_ON_ERROR can result in JSON with null

Key). (Jakub Zelenka)


. Implemented FR #69445 (Support for LDAP EXOP operations)

Fixed support for LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS in ldap_get_option

Fixed passing an empty array to ldap_set_option for client or server controls.

- Mbstring:

. Implemented request #66024 (mb_chr() and mb_ord()). (Masakielastic, Yasuo)

. Implemented request #65081 (mb_scrub()). (Masakielastic, Yasuo)

. Implemented request #69086 (enhancement for mb_convert_encoding() that

Handles multibyte replacement char nicely). (Masakielastic, Yasuo)

Added array input support to mb_convert_encoding (). (Yasuo)

Added array input support to mb_check_encoding (). (Yasuo)

. Fixed bug #69079 (enhancement for mb_substitute_character). (masakielastic)

Update to oniguruma version 6.3.0. (Remi)

. Fixed bug #69267 (mb_strtolower fails on titlecase characters). (Nikita)

- Mcrypt:

The deprecated mcrypt extension has been moved to PECL. (Leigh)

- Opcache:

Added global optimisation passes based on data flow analysis using Single

Static Assignment (SSA) form: Sparse Conditional Constant Propagation (SCCP),

Dead Code Elimination (DCE), and removal of unused local variables

(Nikita, Dmitry)

Fixed incorect constant conditional jump elimination. (Dmitry)

. Fixed bug #75230 (Invalid opcode 49/1/8 using opcache). (Laruence)

Fixed bug (assertion fails with extended info generated). (Laruence)

Fixed bug (Phi sources removel). (Laruence)

. Fixed bug #75370 (Webserver hangs on valid PHP text). (Laruence)

. Fixed bug #75357 (segfault loading WordPress wp-admin). (Laruence)

- OpenSSL:

Use TLS_ANY for default ssl:// and tls:// negotiation. (kelunik)

Fix leak in openssl_spki_new (). (jelle at vdwaa dot NL)

Added openssl_pkcs7_read () and pk7 parameter to openssl_pkcs7_verify ().

(jelle at vdwaa dot NL)

Add SSL security_level stream option to support OpenSSL security levels.

(Jakub Zelenka).

Allow setting SNI cert and private key in separate files. (Jakub Zelenka)

. Fixed bug #74903 (openssl_pkcs7_encrypt() uses different EOL than before).


Automatically load OpenSSL configuration file. (Jakub Zelenka)


Added support for PCRE JIT fast path API. (Dmitry)

. Fixed bug #61780 (Inconsistent PCRE captures in match results). (cmb)

. Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()).


. Fixed bug #75089 (preg_grep() is not reporting PREG_BAD_UTF8_ERROR after

First input string). (Dmitry)

. Fixed bug #75223 (PCRE JIT broken in 7.2). (Dmitry)

. Fixed bug #75285 (Broken build when system libpcre don


- phar:

. Fixed bug #74196 (phar does not correctly handle names containing dots).


- PDO:

. Add

Add parameter types for national character set strings. (Adam Baratz)

- PDO_DBlib:

. Fixed bug #73234 (Emulated statements let value dictate parameter type).

(Adam Baratz)

. Fixed bug #73396 (bigint columns are returned as strings). (Adam Baratz)

Expose DB-Library version as PDO:: DBLIB_ATTR_VERSION attribute on PDO

Instance. (Adam Baratz)

. Add test coverage for bug #72969. (Jeff Farr)


. Fixed Bug #74537 (Align --with-pdo-oci configure option with --with-oci8 syntax).

(Tianfang Yang)

- PDO_Sqlite

Switch to sqlite3_prepare_v2 () and sqlite3_close_v2 () functions (rasmus)


Added extended_value to opcode dump output. (Sara)

- Session:

. Fixed bug #73461 (Prohibit session save handler recursion). (Yasuo)

. PR #2233 Removed register_globals related code and

. Improved bug #73100 fix.

. Fixed bug #74514 (5 session functions incorrectly warn when calling in

Read-only/getter mode). (Yasuo)

. Fixed bug #74936 (session_cache_expire/cache_limiter/save_path() trigger a

Warning in read mode). (Morozov)

. Fixed bug #74941 (session fails to start after having headers sent).


- Sodium:

New cryptographic extension

. Added missing bindings for libsodium

- SPL:

. Fixed bug #71412 (Incorrect arginfo for ArrayIterator::__construct).

(tysonandre775 at hotmail dot com)

Added spl_object_id (). (Tyson Andre)

- SQLite3:

Implement writing to blobs. (bohwaz at GitHub dot com)

Update to Sqlite 3.20.1. (CMB)

- Standard:

. Fixed bug #69442 (closing of fd incorrect when PTS enabled). (jaytaph)

. Fixed bug #74300 (unserialize accepts two plus/minus signs for float number exponent part).


Compatibility with libargon2 versions 20161029 and 20160821.

(charlesportwoodii at erianna dot com)

. Fixed Bug #74737 (mysqli_get_client_info reflection info).

(mhagstrand at Gmail dot com)

Add support for extension name as argument to DL ().

(Francois at tekwire dot net)

. Fixed bug #74851 (uniqid() without more_entropy performs badly).

(Emmanuel Dreyfus)

. Fixed bug #74103 (heap-use-after-free when unserializing invalid array

Size). (Nikita)

. Fixed bug #75054 (A Denial of Service Vulnerability was found when

Performing deserialization). (Nikita)

. Fixed bug #75170 (mt_rand() bias on 64-bit machines). (Nikita)

. Fixed bug #75221 (Argon2i always throws NUL at the end). (cmb)

- Streams:

Default ssl/single_dh_use and ssl/honor_cipher_order to true. (kelunik)

- XML:

Moved utf8_encode () and utf8_decode () to the Standard extension. (Andrea)


Use Zend MM for allocation in bundled libxmlrpc (Joe)

- ZIP:

Add support for encrypted archives. (Remi)

Use of bundled libzip is deprecated, --with-libzip option is recommended. (Remi)

. Fixed Bug #73803 (Reflection of ZipArchive does not show public properties). (Remi)

ZipArchive implements countable, added ZipArchive:: count () method. (Remi)

Fix segfault in php_stream_context_get_option call. (Remi)

. Fixed bug #75143 (new method setEncryptionName() seems not to exist

In ZipArchive). (Anatol)

- zlib:

Expose inflate_get_status () and inflate_get_read_len () functions.

(Matthew Trescott)

Download address:

China IT News APP

Download China IT News APP

Please rate this news

The average score will be displayed after you score.

Post comment

Do not see clearly? Click for a new code.

User comments

Related news