Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| PHP 7.1 UPGRADE NOTES | |
| 1. Backward Incompatible Changes | |
| 2. New Features | |
| 3. Changes in SAPI modules | |
| 4. Deprecated Functionality | |
| 5. Changed Functions | |
| 6. New Functions | |
| 7. New Classes and Interfaces | |
| 8. Removed Extensions and SAPIs | |
| 9. Other Changes to Extensions | |
| 10. New Global Constants | |
| 11. Changes to INI File Handling | |
| 12. Windows Support | |
| 13. Other Changes | |
| ======================================== | |
| 1. Backward Incompatible Changes | |
| ======================================== | |
| - Core: | |
| . 'void' can no longer be used as the name of a class, interface, or trait. | |
| This applies to declarations, class_alias() and use statements. | |
| . (int), intval() where $base is 10 or unspecified, settype(), decbin(), | |
| decoct(), dechex(), integer operators and other conversions now always | |
| respect scientific notation in numeric strings. | |
| (RFC: https://wiki.php.net/rfc/invalid_strings_in_arithmetic) | |
| . The ASCII 0x7F Delete control character is no longer permitted in unquoted | |
| identifiers in source code. | |
| . The following functions may no longer be called dynamically using $func(), | |
| call_user_func(), array_map() or similar: | |
| . extract() | |
| . compact() | |
| . get_defined_vars() | |
| . func_get_args() | |
| . func_get_arg() | |
| . func_num_args() | |
| . parse_str() with one argument | |
| . mb_parse_str() with one argument | |
| . assert() with a string argument | |
| (RFC: https://wiki.php.net/rfc/forbid_dynamic_scope_introspection) | |
| . If the error_log is set to syslog, the PHP error levels are mapped to the | |
| syslog error levels. This brings finer differentiation in the error logs | |
| in contrary to the previous approach where all the errors are loggged with | |
| the notice level only. | |
| - JSON: | |
| . When calling json_encode with JSON_UNESCAPED_UNICODE option, U+2028 and | |
| U+2029 are escaped. | |
| ======================================== | |
| 2. New Features | |
| ======================================== | |
| - Core | |
| . Added void return type, which requires that a function not return a value. | |
| (RFC: https://wiki.php.net/rfc/void_return_type) | |
| . String offset access now supports negative references, which will be | |
| counted from the end of the string. | |
| (RFC: https://wiki.php.net/rfc/negative-string-offsets) | |
| . Added a form of the list() construct where keys can be specified. | |
| (RFC: https://wiki.php.net/rfc/list_keys) | |
| . Added [] = as alternative construct to list() =. | |
| (RFC: https://wiki.php.net/rfc/short_list_syntax) | |
| . Number operators taking numeric strings now emit "A non well formed numeric | |
| value encountered" E_NOTICEs for leading-numeric strings, and "A | |
| non-numeric value encountered" E_WARNINGs for non-numeric strings. | |
| This always applies to the +, -, *, /, **, %, << and >> operators, and | |
| their assignment counterparts +=, -=, *=, /=, **=, %=, <<= and >>=. | |
| For the bitwise operators |, & and ^, and their assignment counterparts | |
| |=, &= and ^=, this only applies where only one operand is a string. | |
| Note that this never applies to the bitwise NOT operator, ~, which does not | |
| handle numeric strings, nor to the increment and decrement operators | |
| ++ and --, which have a unique approach to handling numeric strings. | |
| (RFC: https://wiki.php.net/rfc/invalid_strings_in_arithmetic) | |
| ======================================== | |
| 3. Changes in SAPI modules | |
| ======================================== | |
| ======================================== | |
| 4. Deprecated Functionality | |
| ======================================== | |
| ======================================== | |
| 5. Changed Functions | |
| ======================================== | |
| - get_headers() has an extra parameter which allows passing a custom stream | |
| context. | |
| - The first $varname argument for getenv() is no longer mandatory, the | |
| current environment variables will be returned as an associative array | |
| when omitted. | |
| - json_encode() accepts new option JSON_UNESCAPED_LINE_TERMINATORS that | |
| disables escaping of U+2028 and U+2029 characters when | |
| JSON_UNESCAPED_UNICODE is supplied. | |
| - long2ip() accepts integer as parameter now | |
| - pg_last_notice() accepts optional long parameter to specify operation. | |
| PGSQL_NOTICE_LAST - Get last notice (Default) | |
| PGSQL_NOTICE_ALL - Get all stored notices | |
| PGSQL_NOTICE_CLEAR - Remove all stored notices | |
| It returns empty string or array on successful PGSQL_NOTICE_LAST/ALL calls. | |
| It returned FALSE for empty notice previously. | |
| - pg_fetch_all() accepts 2nd optional result type parameter like | |
| pg_fetch_row(). | |
| - pg_select() accepts 4th optional result type parameter like pg_fetch_row(). | |
| - parse_url() is more restrictive now and supports RFC3986. | |
| - unpack() accepts an additional optional $offset argument. '@' format code | |
| (that specifes an absolute position) is applyed to input data after | |
| the $offset argument. | |
| - strpos(), stripos(), substr_count(), grapheme_strpos(), grapheme_stripos(), | |
| grapheme_extract(), iconv_strpos(), mb_strimwidth(), mb_ereg_search_setpos(), | |
| mb_strpos() and mb_stripos() now accept negative string offsets. | |
| - substr_count() and mb_strimwidth() additionally also accept negative length. | |
| - file_get_contents() accepts a negative seek offset if the stream is seekable. | |
| ======================================== | |
| 6. New Functions | |
| ======================================== | |
| ======================================== | |
| 7. New Classes and Interfaces | |
| ======================================== | |
| ======================================== | |
| 8. Removed Extensions and SAPIs | |
| ======================================== | |
| ======================================== | |
| 9. Other Changes to Extensions | |
| ======================================== | |
| - SQLite3: | |
| . Upgraded bundled SQLite lib to 3.9.2 | |
| ======================================== | |
| 10. New Global Constants | |
| ======================================== | |
| - JSON: | |
| . JSON_UNESCAPED_LINE_TERMINATORS | |
| - Pgsql: | |
| PGSQL_NOTICE_LAST | |
| PGSQL_NOTICE_ALL | |
| PGSQL_NOTICE_CLEAR | |
| ======================================== | |
| 11. Changes to INI File Handling | |
| ======================================== | |
| ======================================== | |
| 12. Windows Support | |
| ======================================== | |
| - Core: | |
| . Support for ftok() | |
| - FCGI | |
| . PHP_FCGI_CHILDREN is respected. If this environment variable is defined, | |
| the first php-fcgi.exe process will exec the specified number of children. | |
| Those will share the same TCP socket. | |
| - readline: | |
| . The readline extension is supported through the WinEditLine library | |
| (http://mingweditline.sourceforge.net/). Thereby, the interactive CLI | |
| shell is supported as well (php.exe -a). | |
| It is well known, but nevertheless is worth mentioning again, that | |
| the readline extension is not thread safe and will never be. Thus, | |
| the usage of it with any true thread safe SAPI (like Apache mod_winnt) is | |
| strongely discouraged. | |
| ======================================== | |
| 13. Other Changes | |
| ======================================== | |