]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.4' into PHP-5.5
authorStanislav Malyshev <stas@php.net>
Mon, 9 Jun 2014 02:44:49 +0000 (19:44 -0700)
committerStanislav Malyshev <stas@php.net>
Mon, 9 Jun 2014 02:46:12 +0000 (19:46 -0700)
* PHP-5.4:
  add news
  Bug 49898 __getCookies() method implementation

1  2 
NEWS
UPGRADING
ext/soap/soap.c

diff --cc NEWS
index dc3b8e621790a7231fe21c91c1c7eaf5fe699a3f,512aba802462a9d54739fc886c76700669856894..e4834d46dc5cf7246e0b74acf85014b3512a12d8
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -16,20 -16,18 +16,23 @@@ PH
      (Remi)
  
  - Fileinfo:
 -  . Fixed bug #67326 (fileinfo: cdf_read_short_sector insufficient boundary 
 -    check). 
 +  . Fixed bug #67326 (fileinfo: cdf_read_short_sector insufficient boundary check).
 +
 +- OPCache:
 +  . Fixed issue #183 (TMP_VAR is not only used once). (Dmitry, Laruence)
  
  - OpenSSL:
 -  . Fixed bug #65698 (certificates validity parsing does not work past 2050). 
 +  . Fixed bug #65698 (certificates validity parsing does not work past 2050).
      (Paul Oehler)
 -  . Fixed bug #66636 (openssl_x509_parse warning with V_ASN1_GENERALIZEDTIME). 
 +  . Fixed bug #66636 (openssl_x509_parse warning with V_ASN1_GENERALIZEDTIME).
      (Paul Oehler)
  
 +- PDO-ODBC:
 +  . Fixed bug #50444 (PDO-ODBC changes for 64-bit).
 +
+ - SOAP:
+   . Implemented FR #49898 (Add SoapClient::__getCookies()). (Boro Sitnikovski)
  - SPL:
    . Fixed bug #67359 (Segfault in recursiveDirectoryIterator). (Laruence)
    . Fixed bug #67360 (Missing element after ArrayObject::getIterator). (Adam)
diff --cc UPGRADING
index 510abcc7b6ca7becb23a4068850654a20f11f02d,80b6fb1aa621136b5171d100c77b335862a9a442..4bc5d4143d1f65bba77dbdc5477e978cfceabde0
+++ b/UPGRADING
@@@ -196,301 -353,474 +196,304 @@@ PHP 5.5 UPGRADE NOTE
  - Manipulated serialization strings for objects implementing Serializable by
    replacing "C:" with "O:" at the start will now produce an error.
  
 -==============================
 -5. Changes to existing classes
 -==============================
 -
 -- Classes that implement stream wrappers can define a method called
 -  stream_truncate that will respond to truncation, e.g. through ftruncate.
 -  Strictly speaking, this is an addition to the user-space stream wrapper
 -  template, not a change to an actual class.
 -
 -- Classes that implement stream wrappers can define a method called
 -  stream_metadata that will be called on touch(), chmod(), chgrp(), chown().
 -
 -- Arrays cast from SimpleXMLElement now always contain all nodes instead of
 -  just the first matching node.
 -
 -- All SimpleXMLElement children are now always printed when using var_dump(),
 -  var_export(), and print_r().
 -
 -- Added iterator support in MySQLi. mysqli_result implements Traversable.
 -
 -- Since 5.4.30, SOAPClient has __getCookies() method. 
 -
 -==============================
 -6. Changes to existing methods
 -==============================
 -
 -- DateTime::parseFromFormat() now has a "+" modifier to allow trailing text in
 -  the string to parse without throwing an error.
 -
 -- Added the ability to pass options to DOMDocument::loadHTML().
 -
 -- FilesystemIterator, GlobIterator and (Recursive)DirectoryIterator now use
 -  the default stream context.
 +========================================
 +5. New Functions
 +========================================
  
 -- Since 5.4.5, the constructor of ResourceBundle accepts NULL for the first two
 -  arguments.
 +- Core:
 +  - array_column()
 +  - boolval()
 +  - password_get_info()
 +  - password_hash()
 +  - password_needs_rehash()
 +  - password_verify()
 +
 +- cURL:
 +  - curl_file_create
 +
 +- GD
 +  - imageflip
 +  - imagecrop
 +  - imagecropauto
 +  - imagesetinterpolation
 +  - imageaffine
 +  - imageaffinematrixget
 +  - imageaffinematrixconcat
 +  - imagescale
 +
 +- Hash:
 +  - hash_pbkdf2()
 +
 +- Intl:
 +  - datefmt_format_object()
 +  - datefmt_get_calendar_object()
 +  - datefmt_get_timezone()
 +  - datefmt_set_timezone()
 +  - datefmt_get_calendar_object()
 +  - intlcal_create_instance()
 +  - intlcal_get_keyword_values_for_locale()
 +  - intlcal_get_now()
 +  - intlcal_get_available_locales()
 +  - intlcal_get()
 +  - intlcal_get_time()
 +  - intlcal_set_time()
 +  - intlcal_add()
 +  - intlcal_set_time_zone()
 +  - intlcal_after()
 +  - intlcal_before()
 +  - intlcal_set()
 +  - intlcal_roll()
 +  - intlcal_clear()
 +  - intlcal_field_difference()
 +  - intlcal_get_actual_maximum()
 +  - intlcal_get_actual_minimum()
 +  - intlcal_get_day_of_week_type()
 +  - intlcal_get_first_day_of_week()
 +  - intlcal_get_greatest_minimum()
 +  - intlcal_get_least_maximum()
 +  - intlcal_get_locale()
 +  - intlcal_get_maximum()
 +  - intlcal_get_minimal_days_in_first_week()
 +  - intlcal_get_minimum()
 +  - intlcal_get_time_zone()
 +  - intlcal_get_type()
 +  - intlcal_get_weekend_transition()
 +  - intlcal_in_daylight_time()
 +  - intlcal_is_equivalent_to()
 +  - intlcal_is_lenient()
 +  - intlcal_is_set()
 +  - intlcal_is_weekend()
 +  - intlcal_set_first_day_of_week()
 +  - intlcal_set_lenient()
 +  - intlcal_equals()
 +  - intlcal_get_repeated_wall_time_option()
 +  - intlcal_get_skipped_wall_time_option()
 +  - intlcal_set_repeated_wall_time_option()
 +  - intlcal_set_skipped_wall_time_option()
 +  - intlcal_from_date_time()
 +  - intlcal_to_date_time()
 +  - intlcal_get_error_code()
 +  - intlcal_get_error_message()
 +  - intlgregcal_create_instance()
 +  - intlgregcal_set_gregorian_change()
 +  - intlgregcal_get_gregorian_change()
 +  - intlgregcal_is_leap_year()
 +  - intltz_create_time_zone()
 +  - intltz_create_default()
 +  - intltz_get_id()
 +  - intltz_get_gmt()
 +  - intltz_get_unknown()
 +  - intltz_create_enumeration()
 +  - intltz_count_equivalent_ids()
 +  - intltz_create_time_zone_id_enumeration()
 +  - intltz_get_canonical_id()
 +  - intltz_get_region()
 +  - intltz_get_tz_data_version()
 +  - intltz_get_equivalent_id()
 +  - intltz_use_daylight_time()
 +  - intltz_get_offset()
 +  - intltz_get_raw_offset()
 +  - intltz_has_same_rules()
 +  - intltz_get_display_name()
 +  - intltz_get_dst_savings()
 +  - intltz_from_date_time_zone()
 +  - intltz_to_date_time_zone()
 +  - intltz_get_error_code()
 +  - intltz_get_error_message()
 +
 +  - IntlDateFormatter::formatObject()
 +  - IntlDateFormatter::getCalendarObject()
 +  - IntlDateFormatter::getTimeZone()
 +  - IntlDateFormatter::setTimeZone()
 +
 +- LDAP:
 +  - ldap_modify_batch() (5.5.10)
 +
++- SOAP:
++  - SoapClient::__getCookies() (5.5.14)
++
 +- Sockets:
 +  - socket_sendmsg()
 +  - socket_recvmsg()
 +  - socket_cmsg_space()
 +
 +- SPL:
 +  - SplFixedArray::__wakeup()
 +  - SplDoublyLinkedList::add()
 +  - RecursiveTreeIterator::getPostfix() (5.5.2)
 +  - RecursiveTreeIterator::setPostfix() (5.5.2)
 +
 +- Zend OPcache:
 + - opcache_get_configuration()
 + - opcache_get_status()
 + - opcache_reset()
  
 -===========================
 -7. Deprecated Functionality
 -===========================
 +========================================
 +6. New Classes and Interfaces
 +========================================
  
 -- The following functions are deprecated in PHP 5.4:
 -  - mcrypt_generic_end():       use mcrypt_generic_deinit() instead
 -  - mysql_list_dbs()
 +- Intl:
 +  - IntlCalendar
 +  - IntlGregorianCalendar
 +  - IntlTimeZone
 +  - IntlBreakIterator
 +  - IntlRuleBasedBreakIterator
 +  - IntlCodePointBreakIterator
 +  - UConverter
  
 -========================
 -8. Removed Functionality
 -========================
 +- cURL:
 +  - CURLFile
  
 -a. Removed features
 -
 -   The following features have been removed from PHP 5.4:
 +========================================
 +7. Removed Extensions
 +========================================
  
 -   - Magic quotes
 -   - Register globals
 -   - Safe mode
 -   - Session extension bug compatibility mode
 -   - Y2K compliance mode
 +None
  
 -b. Removed functions
 +========================================
 +8. Other Changes to Extensions
 +========================================
  
 -   The following functions are no longer available in PHP 5.4:
 +- Intl:
 +  - This extension now requires ICU 4.0+.
 +- Phar:
 +  - Added ability of resolving alias created by Phar::map
  
 -   - define_syslog_variables()
 -   - import_request_variables()
 -   - session_is_registered()
 -   - session_register()
 -   - session_unregister()
 -   - set_magic_quotes_runtime()
 -   - mysqli_bind_param() (alias of mysqli_stmt_bind_param())
 -   - mysqli_bind_result() (alias of mysqli_stmt_bind_result())
 -   - mysqli_client_encoding() (alias of mysqli_character_set_name())
 -   - mysqli_fetch() (alias of mysqli_stmt_fetch())
 -   - mysqli_param_count() (alias of mysqli_stmt_param_count())
 -   - mysqli_get_metadata() (alias of mysqli_stmt_result_metadata())
 -   - mysqli_send_long_data() (alias of mysqli_stmt_send_long_data())
 -   - mysqli::client_encoding() (alias of mysqli::character_set_name)
 -   - mysqli_stmt::stmt() (never worked/always throws, undocumented)
 +========================================
 +9. New Global Constants
 +========================================
  
 -c. Removed syntax
 +- mysqli:
 +  - Added MYSQLI_SERVER_PUBLIC_KEY constant to be used with mysqli_options()
 +
 +- cURL:
 +  - Added CURLOPT_SAFE_UPLOAD to be used with curl_setopt().
 +  - Added CURL_WRAPPERS_ENABLED to reflect --with-curlwrappers.
 +
 +- GD
 +  - Added constants for imageflip:
 +    . IMG_FLIP_HORIZONTAL
 +    . IMG_FLIP_VERTICAL
 +    . IMG_FLIP_BOTH
 +  - Added constants for imagecrop
 +    . IMG_CROP_DEFAULT
 +    . IMG_CROP_TRANSPARENT
 +    . IMG_CROP_BLACK
 +    . IMG_CROP_WHITE
 +    . IMG_CROP_SIDES
 +    . IMG_CROP_THRESHOLD
 +  - Added constants for imagesetinterpolation, used by imagescale
 +    imagerotate and imageaffine:
 +    . IMG_BELL
 +    . IMG_BESSEL
 +    . IMG_BILINEAR_FIXED
 +    . IMG_BICUBIC
 +    . IMG_BICUBIC_FIXED
 +    . IMG_BLACKMAN
 +    . IMG_BOX
 +    . IMG_BSPLINE
 +    . IMG_CATMULLROM
 +    . IMG_GAUSSIAN
 +    . IMG_GENERALIZED_CUBIC
 +    . IMG_HERMITE
 +    . IMG_HAMMING
 +    . IMG_HANNING
 +    . IMG_MITCHELL
 +    . IMG_POWER
 +    . IMG_QUADRATIC
 +    . IMG_SINC
 +    . IMG_NEAREST_NEIGHBOUR
 +    . IMG_WEIGHTED4
 +    . IMG_TRIANGLE
 +  - Added constants for imageaffinematrixget
 +    . IMG_AFFINE_TRANSLATE
 +    . IMG_AFFINE_SCALE
 +    . IMG_AFFINE_ROTATE
 +    . IMG_AFFINE_SHEAR_HORIZONTAL
 +    . IMG_AFFINE_SHEAR_VERTICAL
  
 -   - break $var;
 -   - continue $var;
 +========================================
 +10. Changes to INI File Handling
 +========================================
  
 -d. Removed hash algorithms
 +- Core:
 +  - Added sys_temp_dir INI directive, for specifying temporary
 +    directory.
 +
 +- Intl:
 +  - Added intl.use_exceptions INI directive, which controls what
 +    happens when global errors are set together with intl.error_level.
 +
 +- MSSQL:
 +  - mssql.compatability_mode renamed to mssql.compatibility_mode in 5.5.2,
 +    old directive still supported for BC reasons.
 +
 +- mysqlnd:
 +  - Added mysqlnd.sha256_server_public_key INI PERDIR setting that
 +    affects all APIs which use(are built) for mysqlnd. This allows
 +    ext/mysqli to be used with the new auth protocol, although at
 +    coarser level.
 +
 +- Sessions:
 +  - Added session.use_strict_mode in 5.5.3, which prevents session
 +    fixation attacks and session collisions. 
 +    See also https://wiki.php.net/rfc/strict_sessions
 +
 +- Zend OPcache (See http://php.net/manual/en/book.opcache.php)
 +  - Added the following directives:
 +    - opcache.enable (default "1")
 +    - opcache.memory_consumption (default "64")
 +    - opcache.interned_strings_buffer (default "4")
 +    - opcache.max_accelerated_files (default "2000")
 +    - opcache.max_wasted_percentage (default "5")
 +    - opcache.use_cwd (default "1")
 +    - opcache.validate_timestamps (default "1")
 +    - opcache.revalidate_freq (default "2")
 +    - opcache.revalidate_path (default "0")
 +    - opcache.save_comments (default "1")
 +    - opcache.load_comments (default "1")
 +    - opcache.fast_shutdown (default "0")
 +    - opcache.enable_file_override (default "0")
 +    - opcache.optimization_level (default "0xffffffff")
 +    - opcache.inherited_hack (default "1")
 +    - opcache.blacklist_filename (default "")
 +    - opcache.max_file_size (default "0")
 +    - opcache.consistency_checks (default "0")
 +    - opcache.force_restart_timeout (default "180")
 +    - opcache.error_log (default "" which means stderr)
 +    - opcache.log_verbosity_level (default "1")
 +    - opcache.preferred_memory_model (default "")
 +    - opcache.protect_memory (default "0")
 +    - opcache.mmap_base (Windows-only)
  
 -   - Salsa10 and Salsa20, which are actually stream ciphers
 +========================================
 +11. Windows Support
 +========================================
  
 -====================
 -9. Extension Changes
 -====================
 +- The Apache 2.4 handler is supported as of PHP 5.5.0
  
 -a. Extensions no longer maintained
 +- OPcache: Errors like 'unable to reattach to base address' could
 +  happen in many common setups.  It is due to some technical and
 +  design restriction in the engine and could not be fixed easily
 +  before 5.5.0 was released.
  
 -   - ext/sqlite is no longer part of the base distribution and has been moved
 -     to PECL. Use sqlite3 or PDO_SQLITE instead.
 +  A possible fix is to tweak the opcache.mmap_base INI setting by
 +  forcing the first address to be tried.
  
 -b. Extensions with changed behavior
 +  For x86 version, the following addreses can be tried:
 +        .  0x20000000, 0x21000000, 0x30000000, 0x31000000, 0x50000000
 +  and for x64 (still experimental):
 +        . 0x0000100000000000, 0x0000200000000000, 0x0000300000000000, 0x0000700000000000
  
 -   - The MySQL extensions (ext/mysql, mysqli and PDO_MYSQL) use mysqlnd
 -     as the default library now. It is still possible to use libmysql by
 -     specifying a path to the configure options.
 +========================================
 +12. Other Changes
 +========================================
  
 -   - PDO_MYSQL: Support for linking with MySQL client libraries older
 -     than 4.1 is removed.
 +- If the APC or WinCache user cache APIs were used before, consider
 +   these alternatives for PHP 5.5:
  
 -   - The session extension now can hook into the file upload feature
 -     in order to provide upload progress information through session
 -     variables.
 +  - APCu
 +      - all supported OSes: http://pecl.php.net/package/APCu
 +      - Windows: http://windows.php.net/downloads/pecl/releases/apcu/
  
 -   - SNMP extension
 -     - Functions in SNMP extension now returns FALSE on every error
 -       condition including SNMP-related (no such instance, end of MIB,
 -       etc). Thus, in patricular, breaks previous behavior of get/walk
 -       functions returning an empty string on SNMP-related errors.
 -     - Multi OID get/getnext/set queries are now supported.
 -     - New constants added for use in snmp_set_oid_output_format()
 -       function.
 -     - Function snmp_set_valueretrieval() changed it's behavior:
 -          SNMP_VALUE_OBJECT can be combined with one of
 -          SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY resulting OID value
 -          changes. When no SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY
 -          is supplied with SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used.
 -          Prior to 5.4.0 when no SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY
 -          was supplied with SNMP_VALUE_OBJECT, SNMP_VALUE_PLAIN was used.
 -     - Added feature-rich OO API (SNMP class)
 -     - Dropped UCD-SNMP compatibility code. Consider upgrading to
 -       net-snmp v5.3+. Net-SNMP v5.4+ is required for Windows version.
 -     - In sake of adding support for IPv6 DNS name resolution of
 -       remote SNMP agent (peer) is done by extension now, not by Net-SNMP
 -       library anymore.
 -
 -   - Date extension
 -     - Setting the timezone with the TZ environment variable is no longer
 -       supported, instead date.timezone and/or date_default_timezone_set()
 -       have to be used.
 -     - The extension will no longer guess the default timezone if none
 -       is set with date.timezone and/or date_default_timezone_set().
 -       Instead it will always fall back to "UTC".
 -
 -   - Hash extension
 -     - the output of the tiger hash family has been corrected, see
 -       https://bugs.php.net/61307
 -
 -===========================
 -10. Changes in SAPI support
 -===========================
 -
 -- A REQUEST_TIME_FLOAT value returns a floating point number indicating the
 -  time with microsecond precision. All SAPIs providing this value should be
 -  returning float and not time_t.
 -
 -- apache_child_terminate(), getallheaders(), apache_request_headers()
 -  and apache_response_headers() are now supported on FastCGI.
 -
 -- The interactive shell allows a shortcut #inisetting=value to change php.ini
 -  settings at run-time.
 -
 -- The interactive shell now works with the shared readline extension.
 -
 -- The interactive shell no longer terminates on fatal errors.
 -
 -- A new PHP CLI command line option --rz <name> shows information about the
 -  named Zend extension.
 -
 -===================
 -11. Windows support
 -===================
 -
 -- is_link now works properly for symbolic links on Windows Vista
 -  or later. Earlier systems do not support symbolic links.
 -
 -- As of PHP 5.4.5 and above the COM extension isn't compiled statically in PHP
 -  anymore but shared. It'll still be delivered with the standard PHP release but
 -  must be activated manually with the "extension = php_com_dotnet.dll" directive
 -  in php.ini.
 -
 -- Apache 2.4 handler is supported as of PHP 5.4.9
 -
 -==================
 -12. New in PHP 5.4
 -==================
 -
 -a. New Features
 -
 -  - A built-in CLI web server for testing purposes is now available:
 -     $ php -S 127.0.0.1:8888
 -
 -  - File Upload Progress support is implemented in the Session extension.
 -
 -b. Syntax additions
 -
 -  - Traits:
 -      trait HelloWorld {
 -        public function sayHello() {
 -            echo 'Hello World!';
 -        }
 -      }
 -
 -      class CanIGetHello {
 -        use HelloWorld;
 -      }
 -
 -      $hello = new CanIGetHello();
 -      $hello->sayHello();
 -
 -  - Function call result array access, e.g.:
 -      foo()[0]
 -      $foo->bar()[0]
 -
 -  - Callable typehint indicating argument must be callable:
 -      function foo(callable $do) {
 -      }
 -      foo("strcmp");
 -      foo(function() {});
 -      $o = new ArrayObject();
 -      foo(array($o, "count"));
 -
 -  - Short array syntax:
 -      $a = [1, 2, 3, 4];
 -      $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
 -      $a = ['one' => 1, 2, 'three' => 3, 4];
 -
 -  - Binary number format:
 -      0b00100 0b010101
 -
 -  - Chained string array offsets now work.
 -      $a = "abc";
 -      echo $a[0][0];
 -
 -  - Anonymous functions now support using $this and class scope.
 -    Anonymous function can be declared as "static" to ignore the scope.
 -
 -  - Class::{expr}() syntax is now supported:
 -      class A {
 -        static function foo() {
 -            echo "Hello world!\n";
 -        }
 -      }
 -      $x = "f";
 -      $y = "o";
 -      A::{$x.$y.$y}();
 -
 -  - Class member access on instantiation:
 -      (new foo)->method()
 -      (new foo)->property
 -      (new foo)[0]
 -
 -
 -c. New functions
 -
 -  - Core:
 -    - get_declared_traits()
 -    - getimagesizefromstring()
 -    - hex2bin()
 -    - header_register_callback()
 -    - http_response_code()
 -    - stream_set_chunk_size()
 -    - socket_import_stream()
 -    - trait_exists()
 -
 -  - Intl:
 -    - transliterator_create()
 -    - transliterator_create_from_rules()
 -    - transliterator_create_inverse()
 -    - transliterator_get_error_code()
 -    - transliterator_get_error_message()
 -    - transliterator_list_ids()
 -    - transliterator_transliterate()
 -
 -  - LDAP:
 -    - ldap_control_paged_result()
 -    - ldap_control_paged_result_response()
 -    - ldap_modify_batch (5.4.26)
 -
 -  - libxml:
 -    - libxml_set_external_entity_loader()
 -
 -  - mysqli:
 -    - mysqli_error_list()
 -    - mysqli_stmt_error_list()
 -
 -  - pgsql
 -    - pg_escape_identifier() (5.4.4)
 -    - pg_escape_literal() (5.4.4)
 -
 -  - Session:
 -    - session_register_shutdown()
 -    - session_status()
 -
 -  - SPL
 -    - class_uses()
 -
 -  - SplFixedArray
 -    - SplFixedArray::__wakeup() (5.4.18)
 -
 -d. New global constants
 -
 -  - CURLOPT_MAX_RECV_SPEED_LARGE
 -  - CURLOPT_MAX_SEND_SPEED_LARGE
 -  - ENT_DISALLOWED
 -  - ENT_HTML401
 -  - ENT_HTML5
 -  - ENT_SUBSTITUTE
 -  - ENT_XHTML
 -  - ENT_XML1
 -  - IPPROTO_IP
 -  - IPPROTO_IPV6
 -  - IPV6_MULTICAST_HOPS
 -  - IPV6_MULTICAST_IF
 -  - IPV6_MULTICAST_LOOP
 -  - IP_MULTICAST_IF
 -  - IP_MULTICAST_LOOP
 -  - IP_MULTICAST_TTL
 -  - JSON_BIGINT_AS_STRING
 -  - JSON_OBJECT_AS_ARRAY
 -  - JSON_PRETTY_PRINT
 -  - JSON_UNESCAPED_SLASHES
 -  - JSON_UNESCAPED_UNICODE
 -  - LIBXML_HTML_NODEFDTD
 -  - LIBXML_HTML_NOIMPLIED
 -  - LIBXML_PEDANTIC
 -  - MCAST_JOIN_GROUP
 -  - MCAST_LEAVE_GROUP
 -  - MCAST_BLOCK_SOURCE
 -  - MCAST_UNBLOCK_SOURCE
 -  - MCAST_JOIN_SOURCE_GROUP
 -  - MCAST_LEAVE_SOURCE_GROUP
 -  - OPENSSL_CIPHER_AES_128_CBC
 -  - OPENSSL_CIPHER_AES_192_CBC
 -  - OPENSSL_CIPHER_AES_256_CBC
 -  - OPENSSL_RAW_DATA
 -  - OPENSSL_ZERO_PADDING
 -  - PHP_OUTPUT_HANDLER_CLEAN
 -  - PHP_OUTPUT_HANDLER_CLEANABLE
 -  - PHP_OUTPUT_HANDLER_DISABLED
 -  - PHP_OUTPUT_HANDLER_FINAL
 -  - PHP_OUTPUT_HANDLER_FLUSH
 -  - PHP_OUTPUT_HANDLER_FLUSHABLE
 -  - PHP_OUTPUT_HANDLER_REMOVABLE
 -  - PHP_OUTPUT_HANDLER_STARTED
 -  - PHP_OUTPUT_HANDLER_STDFLAGS
 -  - PHP_OUTPUT_HANDLER_WRITE
 -  - PHP_QUERY_RFC1738
 -  - PHP_QUERY_RFC3986
 -  - PHP_SESSION_ACTIVE
 -  - PHP_SESSION_DISABLED
 -  - PHP_SESSION_NONE
 -  - SCANDIR_SORT_ASCENDING
 -  - SCANDIR_SORT_DESCENDING
 -  - SCANDIR_SORT_NONE
 -  - SORT_FLAG_CASE
 -  - SORT_NATURAL
 -  - STREAM_META_ACCESS
 -  - STREAM_META_GROUP
 -  - STREAM_META_GROUP_NAME
 -  - STREAM_META_OWNER
 -  - STREAM_META_OWNER_NAME
 -  - STREAM_META_TOUCH
 -  - T_CALLABLE
 -  - T_INSTEADOF
 -  - T_TRAIT
 -  - T_TRAIT_C
 -  - ZLIB_ENCODING_DEFLATE
 -  - ZLIB_ENCODING_GZIP
 -  - ZLIB_ENCODING_RAW
 -  - U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR
 -  - IDNA_CHECK_BIDI
 -  - IDNA_CHECK_CONTEXTJ
 -  - IDNA_NONTRANSITIONAL_TO_ASCII
 -  - IDNA_NONTRANSITIONAL_TO_UNICODE
 -  - INTL_IDNA_VARIANT_2003
 -  - INTL_IDNA_VARIANT_UTS46
 -  - IDNA_ERROR_EMPTY_LABEL
 -  - IDNA_ERROR_LABEL_TOO_LONG
 -  - IDNA_ERROR_DOMAIN_NAME_TOO_LONG
 -  - IDNA_ERROR_LEADING_HYPHEN
 -  - IDNA_ERROR_TRAILING_HYPHEN
 -  - IDNA_ERROR_HYPHEN_3_4
 -  - IDNA_ERROR_LEADING_COMBINING_MARK
 -  - IDNA_ERROR_DISALLOWED
 -  - IDNA_ERROR_PUNYCODE
 -  - IDNA_ERROR_LABEL_HAS_DOT
 -  - IDNA_ERROR_INVALID_ACE_LABEL
 -  - IDNA_ERROR_BIDI
 -  - IDNA_ERROR_CONTEXTJ
 -
 -e. New classes
 -
 -  - Reflection:
 -    - ReflectionZendExtension
 -
 -  - Intl:
 -    - Transliterator
 -    - Spoofchecker
 -
 -  - JSON:
 -    - JsonSerializable
 -
 -  - Session:
 -    - SessionHandler
 -
 -  - SNMP:
 -    - SNMP
 -
 -  - SPL:
 -    - CallbackFilterIterator
 -    - RecursiveCallbackFilterIterator
 -
 -f. New methods
 -
 -  - Closure:
 -    - Closure::bind()
 -    - Closure::bindTo()
 -
 -  - Reflection:
 -    - ReflectionClass::getTraitAliases()
 -    - ReflectionClass::getTraitNames()
 -    - ReflectionClass::getTraits()
 -    - ReflectionClass::isCloneable()
 -    - ReflectionClass::isTrait()
 -    - ReflectionClass::newInstanceWithoutConstructor()
 -    - ReflectionExtension::isPersistent()
 -    - ReflectionExtension::isTemporary()
 -    - ReflectionFunction::getClosure()
 -    - ReflectionFunction::getClosureScopeClass()
 -    - ReflectionFunction::getClosureThis()
 -    - ReflectionFunctionAbstract::getClosureScopeClass()
 -    - ReflectionFunctionAbstract::getClosureThis()
 -    - ReflectionMethod::getClosure()
 -    - ReflectionMethod::getClosureScopeClass()
 -    - ReflectionMethod::getClosureThis()
 -    - ReflectionObject::getTraitAliases()
 -    - ReflectionObject::getTraitNames()
 -    - ReflectionObject::getTraits()
 -    - ReflectionObject::isCloneable()
 -    - ReflectionObject::isTrait()
 -    - ReflectionObject::newInstanceWithoutConstructor()
 -    - ReflectionParameter::canBePassedByValue()
 -    - ReflectionParameter::isCallable()
 -
 -  - PDO_DBLIB:
 -    - PDO::newRowset()
 -
 -  - SPL:
 -    - DirectoryIterator::getExtension()
 -    - RegexIterator::getRegex()
 -    - SplDoublyLinkedList::serialize()
 -    - SplDoublyLinkedList::unserialize()
 -    - SplFileInfo::getExtension()
 -    - SplFileObject::fputcsv()
 -    - SplObjectStorage::getHash()
 -    - SplQueue::serialize
 -    - SplQueue::unserialize
 -    - SplStack::serialize
 -    - SplStack::unserialize
 -    - SplTempFileObject::fputcsv
 -
 -  - XSLT:
 -    - XsltProcessor::setSecurityPrefs()
 -    - XsltProcessor::getSecurityPrefs()
 -
 -  - Zlib:
 -    - zlib_decode()
 -    - zlib_encode()
 -
 -g. New Hash algorithms
 -
 -  - fnv132
 -  - fnv164
 -  - joaat
 +  - WinCache, Windows only: http://pecl.php.net/package/WinCache
diff --cc ext/soap/soap.c
Simple merge