Changed functions
PHP Core
- getopt() has an optional third parameter that exposes the index of the next element in the argument vector list to be processed. This is done via a by-ref parameter.
- getenv() no longer requires its parameter. If the parameter is omitted, then the current environment variables will be returned as an associative array.
- get_headers() now has an additional parameter to enable for the passing of custom stream contexts.
- output_reset_rewrite_vars() no longer resets session URL rewrite variables.
- parse_url() is now more restrictive and supports RFC3986.
- unpack() now accepts an optional third parameter to specify the offset to begin unpacking from.
File System
- file_get_contents() now accepts a negative seek offset if the stream is seekable.
- tempnam() now emits a notice when falling back to the system's temp directory.
JSON
-
json_encode() now accepts a new option,
JSON_UNESCAPED_LINE_TERMINATORS
, to disable the escaping of U+2028 and U+2029 characters whenJSON_UNESCAPED_UNICODE
is supplied.
Multibyte String
- mb_ereg() now rejects illegal byte sequences.
- mb_ereg_replace() now rejects illegal byte sequences.
PDO
-
PDO::lastInsertId() for PostgreSQL will now trigger an error
when
nextval
has not been called for the current session (the postgres connection).
PostgreSQL
-
pg_last_notice() now accepts an optional parameter to
specify an operation. This can be done with one of the following new
constants:
PGSQL_NOTICE_LAST
,PGSQL_NOTICE_ALL
, orPGSQL_NOTICE_CLEAR
. - pg_fetch_all() now accepts an optional second parameter to specify the result type (similar to the third parameter of pg_fetch_array()).
- pg_select() now accepts an optional fourth parameter to specify the result type (similar to the third parameter of pg_fetch_array()).
Session
-
session_start() now returns
false
and no longer initializes $_SESSION when it failed to start the session.