From: Stanislav Malyshev Date: Mon, 9 Jun 2014 02:44:49 +0000 (-0700) Subject: Merge branch 'PHP-5.4' into PHP-5.5 X-Git-Tag: php-5.5.14RC1~17 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1b8d4695e2f18b83042e9ac5d501610fce1ccf57;p=php Merge branch 'PHP-5.4' into PHP-5.5 * PHP-5.4: add news Bug 49898 __getCookies() method implementation --- 1b8d4695e2f18b83042e9ac5d501610fce1ccf57 diff --cc NEWS index dc3b8e6217,512aba8024..e4834d46dc --- a/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 510abcc7b6,80b6fb1aa6..4bc5d4143d --- a/UPGRADING +++ 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 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