2005-11-23 15:01:54 +00:00
|
|
|
$Id$
|
2005-11-22 23:49:13 +00:00
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
PHP X.Y UPGRADE NOTES
|
|
|
|
|
|
|
|
1. Backward Incompatible Changes
|
|
|
|
2. New Features
|
|
|
|
2. Changes in SAPI modules
|
|
|
|
3. Deprecated Functionality
|
|
|
|
4. Changed Functions
|
|
|
|
5. New Functions
|
|
|
|
6. New Classes and Interfaces
|
|
|
|
7. Removed Extensions
|
|
|
|
8. Other Changes to Extensions
|
|
|
|
9. New Global Constants
|
|
|
|
10. Changes to INI File Handling
|
|
|
|
11. 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
|
|
|
========================================
|
2009-06-24 21:16:53 +00:00
|
|
|
|
2013-09-17 09:08:23 +00:00
|
|
|
- Core:
|
|
|
|
Removed $HTTP_RAW_POST_DATA global variable. Restore backwards compatibility
|
|
|
|
by:
|
|
|
|
<?php
|
|
|
|
global $HTTP_RAW_POST_DATA;
|
|
|
|
if (!isset($HTTP_RAW_POST_DATA)) {
|
2013-09-23 20:30:47 +00:00
|
|
|
$HTTP_RAW_POST_DATA = file_get_contents("php://input");
|
2013-09-17 09:08:23 +00:00
|
|
|
}
|
|
|
|
?>
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
2. New Features
|
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2013-09-17 09:08:23 +00:00
|
|
|
- Core:
|
|
|
|
The php://input stream is now re-usable and can be used concurrently with
|
|
|
|
enable_post_data_reading=0.
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
2. Changes in SAPI modules
|
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
3. Deprecated Functionality
|
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2013-09-02 21:19:53 +00:00
|
|
|
- Incompatible context calls:
|
|
|
|
Instance calls from an incompatible context are now deprecated and issue
|
|
|
|
E_DEPRECATED instead of E_STRICT. See https://wiki.php.net/rfc/incompat_ctx
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
4. Changed Functions
|
|
|
|
========================================
|
2009-06-23 19:40:31 +00:00
|
|
|
|
2013-01-29 06:26:59 +00:00
|
|
|
- cURL:
|
|
|
|
CURLOPT_SAFE_UPLOAD is now turned on by default and uploads with @file
|
|
|
|
do not work unless it is explicitly set to false.
|
2009-06-23 19:40:31 +00:00
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
5. New Functions
|
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2011-08-29 05:00:26 +00:00
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
6. New Classes and Interfaces
|
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
7. Removed Extensions
|
|
|
|
========================================
|
2009-01-28 17:23:28 +00:00
|
|
|
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
8. Other Changes to Extensions
|
|
|
|
========================================
|
2012-02-21 10:34:42 +00:00
|
|
|
|
2013-06-17 16:27:22 +00:00
|
|
|
- GMP:
|
|
|
|
The GMP extension now uses objects as the underlying data structure, rather
|
|
|
|
than resources. GMP instances now support dumping, serialization, cloning,
|
|
|
|
casts to primitive types and have overloaded operators.
|
|
|
|
(RFC: https://wiki.php.net/rfc/operator_overloading_gmp)
|
2009-01-28 17:23:28 +00:00
|
|
|
|
2013-07-25 17:54:03 +00:00
|
|
|
- OCI8:
|
|
|
|
- Added Implicit Result Set support for Oracle Database 12c with a
|
|
|
|
new oci_get_implicit_resultset() function.
|
|
|
|
- Using 'oci_execute($s, OCI_NO_AUTO_COMMIT)' for a SELECT no longer
|
|
|
|
unnecessarily initiates an internal ROLLBACK during connection
|
|
|
|
close.
|
|
|
|
- Added DTrace probes enabled with PHP's generic --enable-dtrace
|
|
|
|
- The oci_internal_debug() function is now a no-op.
|
|
|
|
- The phpinfo() output format for OCI8 has changed.
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
9. New Global Constants
|
|
|
|
========================================
|
2010-03-24 16:23:50 +00:00
|
|
|
|
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
10. Changes to INI File Handling
|
|
|
|
========================================
|
2010-08-30 09:38:47 +00:00
|
|
|
|
2013-09-17 09:08:23 +00:00
|
|
|
- Core:
|
|
|
|
Removed always_populate_raw_post_data.
|
2011-07-27 00:18:35 +00:00
|
|
|
|
2012-03-05 20:14:04 +00:00
|
|
|
========================================
|
|
|
|
11. Other Changes
|
|
|
|
========================================
|
2012-07-14 20:44:21 +00:00
|
|
|
|
2013-08-09 19:16:47 +00:00
|
|
|
- File upload:
|
|
|
|
Uploads equal or greater than 2GB in size are now accepted.
|
Request non-keep-alive connections by default in HTTP 1.1 requests.
As noted in FR #65634, at present we don't send a Connection request header
when the protocol version is set to 1.1, which means that RFC-compliant Web
servers should respond with keep-alive connections. Since there's no way of
reusing the HTTP connection at present, this simply means that PHP will appear
to hang until the remote server hits its connection timeout, which may be quite
some time.
This commit sends a "Connection: close" header by default when HTTP 1.1 (or
later) is requested by the user via the context options. It can be overridden
by specifying a Connection header in the context options. It isn't possible to
disable sending of the Connection header, but given "Connection: keep-alive" is
the same as the default HTTP 1.1 behaviour, I don't see this as a significant
issue — users who want to opt in for that still can.
As a note, although I've removed an efree(protocol_version), this doesn't
result in a memory leak: protocol_version is freed in the out: block at the end
of the function anyway, and there are no returns between the removed efree()
and the later call. Yes, I ran the tests with valgrind to check that. ☺
Implements FR #65634 (HTTP wrapper is very slow with protocol_version 1.1).
2013-09-11 21:11:29 +00:00
|
|
|
|
|
|
|
- HTTP stream wrapper:
|
|
|
|
HTTP 1.1 requests now include a Connection: close header unless explicitly
|
|
|
|
overridden by setting a Connection header via the header context option.
|