2017-07-19 08:19:32 +00:00
|
|
|
PHP 7.3 UPGRADE NOTES
|
2012-03-05 20:14:04 +00:00
|
|
|
|
|
|
|
1. Backward Incompatible Changes
|
|
|
|
2. New Features
|
2014-05-01 10:27:38 +00:00
|
|
|
3. Changes in SAPI modules
|
|
|
|
4. Deprecated Functionality
|
|
|
|
5. Changed Functions
|
|
|
|
6. New Functions
|
|
|
|
7. New Classes and Interfaces
|
2015-02-10 07:56:18 +00:00
|
|
|
8. Removed Extensions and SAPIs
|
2014-05-01 10:27:38 +00:00
|
|
|
9. Other Changes to Extensions
|
|
|
|
10. New Global Constants
|
|
|
|
11. Changes to INI File Handling
|
2014-08-22 11:35:07 +00:00
|
|
|
12. Windows Support
|
|
|
|
13. Other Changes
|
2010-03-24 16:23:50 +00:00
|
|
|
|
2005-11-22 23:49:13 +00:00
|
|
|
|
2010-03-24 16:23:50 +00:00
|
|
|
========================================
|
2012-03-05 20:14:04 +00:00
|
|
|
1. Backward Incompatible Changes
|
2010-03-24 16:23:50 +00:00
|
|
|
========================================
|
2016-04-24 21:49:52 +00:00
|
|
|
|
2017-07-23 08:36:35 +00:00
|
|
|
Core:
|
|
|
|
. The ext_skel utility has been completely redesigned with new options and
|
2017-09-13 22:35:49 +00:00
|
|
|
some old options removed. This is now written in PHP and has no external
|
2017-07-23 08:36:35 +00:00
|
|
|
dependencies.
|
2017-08-29 20:03:56 +00:00
|
|
|
. Support for BeOS has been dropped.
|
2017-12-23 12:34:17 +00:00
|
|
|
. Exceptions thrown due to automatic conversion of warnings into exceptions
|
|
|
|
in EH_THROW mode (e.g. some DateTime exceptions) no longer populate
|
|
|
|
error_get_last() state. As such, they now work the same way as manually
|
|
|
|
thrown exceptions.
|
2017-07-23 08:36:35 +00:00
|
|
|
|
2017-09-13 14:16:26 +00:00
|
|
|
BCMath:
|
|
|
|
. All warnings thrown by BCMath functions are now using PHP's error handling.
|
2017-12-25 12:18:45 +00:00
|
|
|
Formerly some warnings have directly been written to stderr.
|
2017-09-18 13:57:27 +00:00
|
|
|
. bcmul() and bcpow() now return numbers with the requested scale. Formerly,
|
|
|
|
the returned numbers may have omitted trailing decimal zeroes.
|
2017-09-13 14:16:26 +00:00
|
|
|
|
2017-12-06 22:32:39 +00:00
|
|
|
SPL:
|
|
|
|
. If an SPL autoloader throws an exception, following autoloaders will not be
|
|
|
|
executed. Previously all autoloaders were executed and exceptions were
|
|
|
|
chained.
|
|
|
|
|
2017-12-25 12:18:45 +00:00
|
|
|
SimpleXML:
|
|
|
|
. Mathematic operations involving SimpleXML objects will now treat the text as
|
|
|
|
an integer or float, whichever is more appropriate. Previously values were
|
|
|
|
treated as integers unconditionally.
|
|
|
|
|
2017-08-13 19:17:05 +00:00
|
|
|
Standard:
|
|
|
|
. getimagesize() and related functions now report the mime type of BMP images
|
|
|
|
as image/bmp instead of image/x-ms-bmp, since the former has been registered
|
|
|
|
with the IANA (see RFC 7903).
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
2. New Features
|
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2017-10-06 23:30:58 +00:00
|
|
|
Core:
|
|
|
|
. Array destructuring now supports reference assignments using the syntax
|
|
|
|
[&$a, [$b, &$c]] = $d. The same is also supported for list().
|
|
|
|
(RFC: https://wiki.php.net/rfc/list_reference_assignment)
|
2018-01-04 05:50:34 +00:00
|
|
|
. instancof now allows literal as the first operand,
|
|
|
|
in this case the result always be FALSE.
|
2017-10-06 23:30:58 +00:00
|
|
|
|
2017-09-13 14:04:19 +00:00
|
|
|
BCMath:
|
|
|
|
. bcscale() can now also be used as getter to retrieve the current scale in use.
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2014-05-01 10:27:38 +00:00
|
|
|
3. Changes in SAPI modules
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2014-05-01 10:27:38 +00:00
|
|
|
4. Deprecated Functionality
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2014-05-01 10:27:38 +00:00
|
|
|
5. Changed Functions
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2009-06-23 19:40:31 +00:00
|
|
|
|
2017-10-22 18:41:23 +00:00
|
|
|
JSON:
|
|
|
|
. A new flag has been added, JSON_THROW_ON_ERROR, which can be used with
|
|
|
|
json_decode() or json_encode() and causes these functions to throw a
|
|
|
|
JsonException upon an error, instead of setting the global error state that
|
|
|
|
is retrieved with json_last_error(). JSON_PARTIAL_OUTPUT_ON_ERROR takes
|
|
|
|
precedence over JSON_THROW_ON_ERROR.
|
|
|
|
(RFC: https://wiki.php.net/rfc/json_throw_on_error)
|
|
|
|
|
|
|
|
Standard:
|
2017-10-05 22:34:50 +00:00
|
|
|
. debug_zval_dump() was changed to display recursive arrays and objects
|
|
|
|
in the same way as var_dump(). Now, it doesn't display them twice.
|
|
|
|
|
2017-12-16 16:40:32 +00:00
|
|
|
PCRE:
|
|
|
|
. preg_quote() now also escapes the '#' character.
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2014-05-01 10:27:38 +00:00
|
|
|
6. New Functions
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2015-04-24 15:19:58 +00:00
|
|
|
|
2018-01-07 14:55:12 +00:00
|
|
|
Core:
|
|
|
|
. Added monotonic timer function hrtime([bool get_as_num]). It returns an
|
|
|
|
array of the form [seconds, nanoseconds] with the timestamp starting at
|
|
|
|
an unspecified point in the past. If the optional argument is passed as
|
|
|
|
true, the return value is an integer on 64-bit systems or float on
|
|
|
|
32-bit systems, representing the nanoseconds. The timestamp is not
|
|
|
|
adjustable and is not related to wall clock or time of day. The timers
|
|
|
|
are available under Linux, FreeBSD, Windows, Mac, SunOS, AIX and their
|
|
|
|
derivatives. If no required timers are provided by a corresponding
|
2018-01-11 11:40:01 +00:00
|
|
|
platform, the function returns false.
|
2018-01-07 14:55:12 +00:00
|
|
|
|
2017-04-17 16:36:30 +00:00
|
|
|
Date:
|
|
|
|
. Added the DateTime::createFromImmutable() method, which mirrors
|
|
|
|
DateTimeImmutable::createFromMutable().
|
|
|
|
|
2017-12-09 20:09:27 +00:00
|
|
|
GMP:
|
|
|
|
. Added gmp_binomial(n, k) for calculating binomial coefficients.
|
2017-12-09 20:22:37 +00:00
|
|
|
. Added gmp_lcm(a, b) for calculating the least common multiple.
|
2017-12-09 20:32:42 +00:00
|
|
|
. Added gmp_perfect_power(a) to check if number is a perfect power.
|
2017-12-09 20:57:41 +00:00
|
|
|
. Added gmp_kronecker(a, b) to compute the Kronecker symbol.
|
2017-12-09 20:09:27 +00:00
|
|
|
|
2017-11-02 12:34:58 +00:00
|
|
|
Intl:
|
|
|
|
. Added void Spoofchecker::setRestrictionLevel(int $level) method, available
|
|
|
|
when linked with ICU >= 58.1. Levels are represented as class constants
|
|
|
|
- Spoofchecker::ASCII
|
|
|
|
- Spoofchecker::HIGHLY_RESTRICTIVE
|
|
|
|
- Spoofchecker::MODERATELY_RESTRICTIVE
|
|
|
|
- Spoofchecker::MINIMALLY_RESTRICTIVE
|
|
|
|
- Spoofchecker::UNRESTRICTIVE
|
|
|
|
- Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE
|
|
|
|
For the detailed documentation on the restriction levels, see
|
|
|
|
URestrictionLevel under
|
|
|
|
http://icu-project.org/apiref/icu4c/uspoof_8h.html
|
|
|
|
|
2017-11-06 07:19:00 +00:00
|
|
|
SPL:
|
2017-11-05 17:33:34 +00:00
|
|
|
. Added spl_object_id().
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2014-05-01 10:27:38 +00:00
|
|
|
7. New Classes and Interfaces
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2017-10-22 18:41:23 +00:00
|
|
|
JSON:
|
|
|
|
. JsonException
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2015-02-10 07:56:18 +00:00
|
|
|
8. Removed Extensions and SAPIs
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2014-05-01 10:27:38 +00:00
|
|
|
9. Other Changes to Extensions
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2016-07-03 10:43:30 +00:00
|
|
|
|
2017-12-19 22:16:06 +00:00
|
|
|
Curl:
|
|
|
|
. libcurl >= 7.12.1 is now required
|
|
|
|
|
2017-07-10 16:13:58 +00:00
|
|
|
FTP:
|
|
|
|
. Set default transfer mode to binary
|
|
|
|
|
2017-07-19 08:19:32 +00:00
|
|
|
ODBC:
|
2017-07-28 08:31:48 +00:00
|
|
|
. Support for ODBCRouter has been removed.
|
2017-07-19 08:19:32 +00:00
|
|
|
. Support for Birdstep has been removed.
|
2017-01-22 15:26:07 +00:00
|
|
|
|
2017-09-07 12:27:50 +00:00
|
|
|
ZIP:
|
2017-12-25 12:18:45 +00:00
|
|
|
. Bundled libzip has been dropped,
|
2017-09-07 12:27:50 +00:00
|
|
|
system library is now required.
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2014-05-01 10:27:38 +00:00
|
|
|
10. New Global Constants
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2010-03-24 16:23:50 +00:00
|
|
|
|
2017-10-22 18:41:23 +00:00
|
|
|
JSON:
|
|
|
|
. JSON_THROW_ON_ERROR
|
|
|
|
|
2017-08-17 19:04:41 +00:00
|
|
|
PGSQL:
|
|
|
|
. Requires Postgres 9.3
|
|
|
|
- PGSQL_DIAG_SCHEMA_NAME
|
|
|
|
- PGSQL_DIAG_TABLE_NAME
|
|
|
|
- PGSQL_DIAG_COLUMN_NAME
|
|
|
|
- PGSQL_DIAG_DATATYPE_NAME
|
|
|
|
- PGSQL_DIAG_CONSTRAINT_NAME
|
|
|
|
. Requires Postgres 9.6
|
|
|
|
- PGSQL_DIAG_SEVERITY_NONLOCALIZED
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2014-05-01 10:27:38 +00:00
|
|
|
11. Changes to INI File Handling
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2010-08-30 09:38:47 +00:00
|
|
|
|
2017-07-19 08:19:32 +00:00
|
|
|
- birdstep.max_links
|
2017-09-13 22:34:26 +00:00
|
|
|
. This INI directive has been removed.
|
2016-08-11 03:06:55 +00:00
|
|
|
|
2017-12-18 20:57:23 +00:00
|
|
|
- opcache.inherited_hack
|
|
|
|
. This INI directive has been removed. The value has already been ignored
|
|
|
|
since PHP 5.3.0.
|
|
|
|
|
2014-08-22 11:35:07 +00:00
|
|
|
========================================
|
|
|
|
12. Windows Support
|
|
|
|
========================================
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2014-08-22 11:35:07 +00:00
|
|
|
13. Other Changes
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
2012-07-14 20:44:21 +00:00
|
|
|
|