- 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