PHP Release 5.3.0


PHP 5.3.0 Release Announcement

The PHP development team is proud to announce the immediate release of PHP 5.3.0. This release is a major improvement in the 5.X series, which includes a large number of new features and bug fixes.

The key features of PHP 5.3.0 include:

This release also drops several extensions and unifies the usage of internal APIs. Users should be aware of the following known backwards compatibility breaks:

For users upgrading from PHP 5.2 there is a migration guide available here, detailing the changes between those releases and PHP 5.3.0.

For a full list of changes in PHP 5.3.0, see the ChangeLog.

Source Code
Change Logs
moved extensions to pecl (derick, lukas, pierre, scott)
  • Upgraded bundled sqlite to version 3.6.15.
  • ext/dbase
  • ext/fbsql
  • ext/fdf
  • ext/ncurses
  • ext/mhash
  • ext/ming
  • ext/msql
  • ext/sybase
  • Removed the experimental RPL (master/slave) functions from mysqli.
  • Removed zend.ze1_compatibility_mode.
  • Removed all zend_extension_* php.ini directives. Zend extensions are now always loaded using zend_extension directive.
  • Removed special treatment of "/tmp" in sessions for open_basedir. Note: This undocumented behaviour was introduced in 5.2.2.
  • Removed shebang line check from CGI sapi (checked by scanner).
  • Changed PCRE, Reflection and SPL extensions to be always enabled.
  • Changed md5() to use improved implementation.
  • Changed HTTP stream wrapper to accept any code between and including 200 to 399 as successful.
  • Changed __call() to be invoked on private/protected method access, similar to properties and __get().
  • Changed dl() to be disabled by default. Enabled only when explicitly registered by the SAPI. Currently enabled with cli, cgi and embed SAPIs.
  • Changed opendir(), dir() and scandir() to use default context when no context argument is passed.
  • Changed open_basedir to allow tightening in runtime contexts.
  • Changed PHP/Zend extensions to use flexible build IDs.
  • Changed error level E_ERROR into E_WARNING in Soap extension methods parameter validation.
  • Changed openssl info to show the shared library version number.
  • Changed floating point behaviour to consistently use double precision on all platforms and with all compilers.
  • Changed round() to act more intuitively when rounding to a certain precision and round very large and very small exponents correctly.
  • Changed session_start() to return false when session startup fails.
  • Changed property_exists() to check the existence of a property independent of accessibility (like method_exists()).
  • Changed array_reduce() to allow mixed $initial
improved php syntax and semantics
  • Added lambda functions and closures.
  • Added "jump label" operator (limited "goto").
  • Added NOWDOC syntax.
  • Added HEREDOC syntax with double quotes.
  • Added support for using static HEREDOCs to initialize static variables and class members or constants.
  • Improved syntax highlighting and consistency for variables in double-quoted strings and literal text in HEREDOCs and backticks.
  • Added "?:" operator.
  • Added support for namespaces.
  • Added support for Late Static Binding.
  • Added support for __callStatic() magic method.
  • Added forward_static_call(_array) to complete LSB.
  • Added support for dynamic access of static members using $foo::myFunc().
  • Improved checks for callbacks.
  • Added __DIR__ constant.
  • Added new error modes E_USER_DEPRECATED and E_DEPRECATED. E_DEPRECATED is used to inform about stuff being scheduled for removal in future PHP versions.
  • Added "request_order" INI variable to control specifically $_REQUEST behavior.
  • Added support for exception linking.
  • Added ability to handle exceptions in destructors.
improved php runtime speed and memory usage
  • Substitute global-scope, persistent constants with their values at compile time.
  • Optimized ZEND_SIGNED_MULTIPLY_LONG().
  • Removed direct executor recursion.
  • Use fastcall calling convention in executor on x86.
  • Use IS_CV for direct access to $this variable.
  • Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR).
  • Lazy EG(active_symbol_table) initialization.
  • Optimized ZEND_RETURN opcode to not allocate and copy return value if it is not used.
  • Replaced all flex based scanners with re2c based scanners.
  • Added garbage collector. .
  • Improved PHP binary size and startup speed with GCC4 visibility control.
  • Improved engine stack implementation for better performance and stability.
  • Improved memory usage by moving constants to read only memory.
  • Changed exception handling. Now each op_array doesn't contain ZEND_HANDLE_EXCEPTION opcode in the end.
  • Optimized require_once() and include_once() by eliminating fopen(3) on second usage.
  • Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single ZEND_ADD_INTERFACE opcode.
  • Optimized string searching for a single character.
  • Optimized interpolated strings to use one less opcode.
improved php.ini handling
  • Added ".htaccess" style user-defined php.ini files support for CGI/FastCGI.
  • Added support for special [PATH=/opt/httpd/www.example.com/] and [HOST=www.example.com] sections. Directives set in these sections can not be overridden by user-defined ini-files or during runtime.
  • Added better error reporting for php.ini syntax errors.
  • Allowed using full path to load modules using "extension" directive.
  • Allowed "ini-variables" to be used almost everywhere ini php.ini files.
  • Allowed using alphanumeric/variable indexes in "array" ini options.
  • Added 3rd optional parameter to parse_ini_file() to specify the scanning mode of INI_SCANNER_NORMAL or INI_SCANNER_RAW. In raw mode option values and section values are treated as-is.
  • Fixed get_cfg_var() to be able to return "array" ini options.
  • Added optional parameter to ini_get_all() to only retrieve the current value.
improved windows support
  • Update all libraries to their latest stable version. .
  • Added Windows support for stat(), touch(), filemtime(), filesize() and related functions.
  • Re-added socket_create_pair() for Windows in sockets extension.
  • Added inet_pton() and inet_ntop() also for Windows platforms.
  • Added mcrypt_create_iv() for Windows platforms.
  • Added ACL Cache support on Windows.
  • Added constants based on Windows' GetVersionEx information. PHP_WINDOWS_VERSION_* and PHP_WINDOWS_NT_*.
  • Added support for ACL (is_writable, is_readable, reports now correct results) on Windows.
  • Added support for fnmatch() on Windows.
  • Added support for time_nanosleep() and time_sleep_until() on Windows.
  • Added support for symlink(), readlink(), linkinfo() and link() on Windows. They are available only when the running platform supports them.
  • the GMP extension now relies on MPIR instead of the GMP library.
  • Added Windows support for stream_socket_pair().
  • Drop all external dependencies for the core features.
  • Drastically improve the build procedure :
  • VC9 or later support
  • Initial experimental x64 support
  • MSI installer now supports all recent Windows versions, including Windows 7.
improved and cleaned cgi code
  • FastCGI is now always enabled and cannot be disabled. See sapi/cgi/CHANGES for more details.
  • Added CGI SAPI -T option which can be used to measure execution time of script repeated several times.
improved streams
  • Fixed confusing error message on failure when no errors are logged.
  • Added stream_supports_lock() function.
  • Added context parameter for copy() function.
  • Added "glob://" stream wrapper.
  • Added "params" as optional parameter for stream_context_create().
  • Added ability to use stream wrappers in include_path.
  • Improved DNS API
  • Added Windows support for dns_check_record(), dns_get_mx(), checkdnsrr() and getmxrr().
  • Added support for old style DNS functions (supports OSX and FBSD).
  • Added a new "entries" array in dns_check_record() containing the TXT elements.
improved hash extension
  • Changed mhash to be a wrapper layer around the hash extension.
  • Added hash_copy() function.
  • Added sha224 hash algorithm to the hash extension.
improved imap support (pierre)
  • Added imap_gc() to clear the imap cache
  • Added imap_utf8_to_mutf7() and imap_mutf7_to_utf8()
improved mbstring extension
  • Added "mbstring.http_output_conv_mimetypes" INI directive that allows common non-text types such as "application/xhtml+xml" to be converted by mb_output_handler().
improved oci8 extension (chris jones/oracle corp.)
  • Added Database Resident Connection Pooling (DRCP) and Fast Application Notification support.
  • Added support for Oracle External Authentication .
  • Improve persistent connection handling of restarted DBs.
  • Added SQLT_AFC support to oci_bind_by_name.
  • Fixed bug #45458
  • Fixed bug #41069 .
  • Fixed define of SQLT_BDOUBLE and SQLT_BFLOAT constants with Oracle 10g ORACLE_HOME builds.
  • Changed default value of oci8.default_prefetch from 10 to 100.
  • Fixed PECL Bug #16035 (OCI8: oci_connect without ORACLE_HOME defined causes segfault)
  • Fixed PECL Bug #15988 (OCI8: sqlnet.ora isn't read with older Oracle libraries)
  • Fixed PECL Bug #14268 (Allow "pecl install oci8" command to "autodetect" an Instant Client RPM install)
  • Fixed PECL bug #12431 .
  • Allow building the PHP 5.3-based OCI8 code with PHP 4.3.9 onwards.
  • Provide separate extensions for Oracle 11g and 10g on Windows.
improved openssl extension
  • Added support for OpenSSL digest and cipher functions.
  • Added access to internal values of DSA, RSA and DH keys.
  • Fixed a memory leak on openssl_decrypt().
  • Fixed segfault caused by openssl_pkey_new().
  • Fixed bug caused by uninitilized variables in openssl_pkcs7_encrypt() and openssl_pkcs7_sign().
  • Fixed error message in openssl_seal().
improved pcntl extension
  • Added pcntl_signal_dispatch().
  • Added pcntl_sigprocmask().
  • Added pcntl_sigwaitinfo().
  • Added pcntl_sigtimedwait().
improved soap extension
  • Added support for element names in context of XMLSchema's <any>.
  • Added ability to use Traversable objects instead of plain arrays.
  • Fixed possible crash bug caused by an uninitialized value.
improved spl extension
  • Added SPL to list of standard extensions that cannot be disabled.
  • Added ability to store associative information with objects in SplObjectStorage.
  • Added ArrayAccess support to SplObjectStorage.
  • Added SplDoublyLinkedList, SplStack, SplQueue classes.
  • Added FilesystemIterator.
  • Added GlobIterator.
  • Added SplHeap, SplMinHeap, SplMaxHeap, SplPriorityQueue classes.
  • Added new parameter $prepend to spl_autoload_register().
  • Added SplFixedArray.
  • Added delaying exceptions in SPL's autoload mechanism.
  • Added RecursiveTreeIterator.
  • Added MultipleIterator.
improved zend engine
  • Added "compact" handler for Zend MM storage.
  • Added "+" and "*" specifiers to zend_parse_parameters().
  • Added concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanilla PHP.
improved crypt() function
  • Added Blowfish and extended DES support. .
  • Made crypt features portable by providing our own implementations for crypt_r and the algorithms which are used when OS does not provide them. PHP implementations are always used for Windows builds.
  • Deprecated session_register(), session_unregister() and session_is_registered().
  • Deprecated define_syslog_variables().
  • Deprecated ereg extension.
added new extensions
  • Added Enchant extension as a way to access spell checkers.
  • Added fileinfo extension as replacement for mime_magic extension.
  • Added intl extension for Internationalization.
  • Added mysqlnd extension as replacement for libmysql for ext/mysql, mysqli and PDO_mysql.
  • Added phar extension for handling PHP Archives.
  • Added SQLite3 extension.
added new date/time functionality
  • date_parse_from_format(): Parse date/time strings according to a format.
  • date_create_from_format()/DateTime::createFromFormat(): Create a date/time object by parsing a date/time string according to a given format.
  • date_get_last_errors()/DateTime::getLastErrors(): Return a list of warnings and errors that were found while parsing a date/time string through:
  • strtotime() / new DateTime
  • date_create_from_format() / DateTime::createFromFormat()
  • date_parse_from_format().
  • support for abbreviation and offset based timezone specifiers for the 'e' format specifier, DateTime::__construct(), DateTime::getTimeZone() and DateTimeZone::getName().
  • support for selectively listing timezone identifiers by continent or country code through timezone_identifiers_list() / DateTimezone::listIdentifiers().
  • timezone_location_get() / DateTimezone::getLocation() for retrieving location information from timezones.
  • date_timestamp_set() / DateTime::setTimestamp() to set a Unix timestamp without invoking the date parser.
  • date_timestamp_get() / DateTime::getTimestamp() to retrieve the Unix timestamp belonging to a date object.
  • two optional parameters to timezone_transitions_get() / DateTimeZone::getTranstions() to limit the range of transitions being returned.
  • support for "first/last day of <month>" style texts.
  • support for date/time strings returned by MS SQL.
  • support for serialization and unserialization of DateTime objects.
  • support for diffing date/times through date_diff() / DateTime::diff().
  • support for adding/subtracting weekdays with strtotime() and DateTime::modify().
  • DateInterval class to represent the difference between two date/times.
  • support for parsing ISO intervals for use with DateInterval.
  • date_add() / DateTime::add(), date_sub() / DateTime::sub() for applying an interval to an existing date/time.
  • proper support for "this week", "previous week"/"last week" and "next week" phrases so that they actually mean the week and not a seven day period around the current day.
  • support for "<xth> <weekday> of" and "last <weekday> of" phrases to be used with months - like in "last saturday of februari 2008".
  • support for "back of <hour>" and "front of <hour>" phrases that are used in Scotland.
  • DatePeriod class which supports iterating over a DateTime object applying DateInterval on each iteration, up to an end date or limited by maximum number of occurences.
  • Added compatibility mode in GD, imagerotate, image(filled)ellipse imagefilter, imageconvolution and imagecolormatch are now always enabled.
  • Added array_replace() and array_replace_recursive() functions.
added reflectionproperty
  • Added msg_queue_exists() function to sysvmsg extension.
added firebird specific attributes that can be set via pdo
  • Added gmp_testbit() function.
  • Added icon format support to getimagesize().
  • Added LDAP_OPT_NETWORK_TIMEOUT option for ldap_set_option() to allow setting network timeout (FR #42837).
  • Added optional escape character parameter to fgetcsv().
  • Added an optional parameter to strstr() and stristr() for retrieval of either the part of haystack before or after first occurrence of needle.
  • Added xsl->setProfiling() for profiling stylesheets.
  • Added long-option feature to getopt() and made getopt() available also on win32 systems by adding a common getopt implementation into core.
  • Added support for optional values, and = as separator, in getopt().
  • Added lcfirst() function.
  • Added PREG_BAD_UTF8_OFFSET_ERROR constant.
  • Added native support for asinh(), acosh(), atanh(), log1p() and expm1().
  • Added LIBXML_LOADED_VERSION constant (libxml2 version currently used).
  • Added JSON_FORCE_OBJECT flag to json_encode().
  • Added timezone_version_get() to retrieve the version of the used timezone database.
  • Added 'n' flag to fopen to allow passing O_NONBLOCK to the underlying open(2) system call.
  • Added "dechunk" filter which can decode HTTP responses with chunked transfer-encoding. HTTP streams use this filter automatically in case "Transfer-Encoding: chunked" header is present in response. It's possible to disable this behaviour using "http"=>array("auto_decode"=>0) in stream context.
  • Added support for CP850 encoding in mbstring extension.
  • Added stream_cast() and stream_set_options() to user-space stream wrappers, allowing stream_select(), stream_set_blocking(), stream_set_timeout() and stream_set_write_buffer() to work with user-space stream wrappers.
  • Added header_remove() function.
  • Added stream_context_get_params() function.
  • Added optional parameter "new" to sybase_connect().
  • Added parse_ini_string() function.
  • Added str_getcsv() function.
  • Added openssl_random_pseudo_bytes() function.
  • Added ability to send user defined HTTP headers with SOAP request.
  • Added concatenation option to bz2.decompress stream filter.
  • Added support for using compressed connections with PDO_mysql.
  • Added the ability for json_decode() to take a user specified depth.
  • Added support for the mysql_stmt_next_result() function from libmysql.
  • Added function preg_filter() that does grep and replace in one go.
  • Added system independent realpath() implementation which caches intermediate directories in realpath-cache.
  • Added optional clear_realpath_cache and filename parameters to clearstatcache().
  • Added litespeed SAPI module.
  • Added ext/hash support to ext/session's ID generator.
  • Added quoted_printable_encode() function.
  • Added stream_context_set_default() function.
  • Added optional "is_xhtml" parameter to nl2br() which makes the function output <br> when false and <br /> when true (FR #34381).
  • Added PHP_MAXPATHLEN constant (maximum length of a path).
  • Added support for SSH via libssh2 in cURL.
  • Added support for gray levels PNG image with alpha in GD extension.
  • Added support for salsa hashing functions in HASH extension.
added table info to pdo
  • Added mail logging functionality that allows logging of mail sent via mail() function.
  • Added json_last_error() to return any error information from json_decode().
  • Added gethostname() to return the current system host name.
  • Added shm_has_var() function.
  • Added depth parameter to json_decode() to lower the nesting depth from the maximum if required.
  • Added pixelation support in imagefilter().
implemented fr #41712 (curl progress callback
  • Implemented FR #47739 (Missing cURL option do disable IPv6).
  • Implemented FR #39637 (Missing cURL option CURLOPT_FTP_FILEMETHOD).
fixed an issue with reflectionproperty
  • Fixed html_entity_decode() incorrectly converting numeric html entities to different characters with cp1251 and cp866.
fixed an issue in date() where a
  • Fixed exec() on Windows to not eat the first and last double quotes.
  • Fixed readlink on Windows in thread safe SAPI (apache2.x etc.).
  • Fixed a bug causing miscalculations with the "last <weekday> of <n> month" relative time string.
  • Fixed bug causing the algorithm parameter of mhash() to be modified.
  • Fixed invalid calls to free when internal fileinfo magic file is used.
  • Fixed memory leak inside wddx_add_vars() function.
  • Fixed check in recode extension to allow builing of recode and mysql extensions when using a recent libmysql.
  • Fixed PECL bug #12794 (PDOStatement->nextRowset() doesn't work).
  • Fixed PECL bug #12401 (Add support for ATTR_FETCH_TABLE_NAMES).
  • Fixed bug #48696 (ldap_read() segfaults with invalid parameters).
  • Fixed bug #48643 (String functions memory issue).
  • Fixed bug #48641 (tmpfile() uses old parameter parsing).
  • Fixed bug #48624 (.user.ini never gets parsed).
  • Fixed bug #48620 (X-PHP-Originating-Script assumes no trailing CRLF in existing headers).
  • Fixed bug #48578 (Can't build 5.3 on FBSD 4.11).
  • Fixed bug #48535 (file_exists returns false when impersonate is used).
  • Fixed bug #48493 (spl_autoload_register() doesn't work correctly when prepending functions).
  • Fixed bug #48215 (Calling a method with the same name as the parent class calls the constructor).
  • Fixed bug #48200 (compile failure with mbstring.c when --enable-zend-multibyte is used).
  • Fixed bug #48188 (Cannot execute a scrollable cursors twice with PDO_PGSQL).
fixed bug #48185 (warning
  • Fixed bug #48087 (call_user_method() invalid free of arguments).
  • Fixed bug #48060 (pdo_pgsql - large objects are returned as empty).
  • Fixed bug #48034 (PHP crashes when script is 8192 (8KB) bytes long).
  • Fixed bug #48004 (Error handler prevents creation of default object).
  • Fixed bug #47880 (crashes in call_user_func_array()).
  • Fixed bug #47856 (stristr() converts needle to lower-case).
  • Fixed bug #47851 (is_callable throws fatal error).
  • Fixed bug #47816 (pcntl tests failing on NetBSD).
  • Fixed bug #47779 (Wrong value for SIG_UNBLOCK and SIG_SETMASK constants).
  • Fixed bug #47771 (Exception during object construction from arg call calls object's destructor).
  • Fixed bug #47767 (include_once does not resolve windows symlinks or junctions)
  • Fixed bug #47757 (rename JPG to JPEG in phpinfo).
  • Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer).
  • Fixed bug #47714 (autoloading classes inside exception_handler leads to crashes).
  • Fixed bug #47671 (Cloning SplObjectStorage instances).
  • Fixed bug #47664 (get_class returns NULL instead of FALSE).
  • Fixed bug #47662 (Support more than 127 subpatterns in preg_match).
  • Fixed bug #47596 (Bus error on parsing file).
  • Fixed bug #47572 (Undefined constant causes segmentation fault).
  • Fixed bug #47560 (explode()'s limit parameter odd behaviour).
  • Fixed bug #47549 (get_defined_constants() return array with broken array categories).
  • Fixed bug #47535 (Compilation failure in ps_fetch_from_1_to_8_bytes()).
fixed bug #47534 (recursivediteratoryiterator
  • Fixed bug #47443 (metaphone('scratch') returns wrong result).
  • Fixed bug #47438 (mysql_fetch_field ignores zero offset).
  • Fixed bug #47398 (PDO_Firebird doesn't implements quoter correctly).
  • Fixed bug #47390 (odbc_fetch_into - BC in php 5.3.0).
  • Fixed bug #47359 (Use the expected unofficial mimetype for bmp files).
  • Fixed bug #47343 (gc_collect_cycles causes a segfault when called within a destructor in one case).
  • Fixed bug #47320 ($php_errormsg out of scope in functions).
  • Fixed bug #47318 (UMR when trying to activate user config).
fixed bug #47243 (oci8
  • Fixed bug #47231 (offsetGet error using incorrect offset).
  • Fixed bug #47229 (preg_quote() should escape the '-' char).
  • Fixed bug #47165 (Possible memory corruption when passing return value by reference).
  • Fixed bug #47087 (Second parameter of mssql_fetch_array()).
  • Fixed bug #47085 (rename() returns true even if the file in PHAR does not exist).
  • Fixed bug #47050 (mysqli_poll() modifies improper variables).
  • Fixed bug #47045 (SplObjectStorage instances compared with ==).
  • Fixed bug #47038 (Memory leak in include).
  • Fixed bug #47031 (Fix constants in DualIterator example).
  • Fixed bug #47021 (SoapClient stumbles over WSDL delivered with "Transfer-Encoding: chunked").
fixed bug #46994 (oci8
  • Fixed bug #46979 (use with non-compound name *has* effect).
  • Fixed bug #46957 (The tokenizer returns deprecated values).
  • Fixed bug #46944 (UTF-8 characters outside the BMP aren't encoded correctly).
  • Fixed bug #46897 (ob_flush() should fail to flush unerasable buffers).
  • Fixed bug #46849 (Cloning DOMDocument doesn't clone the properties).
  • Fixed bug #46847 (phpinfo() is missing some settings).
  • Fixed bug #46844 (php scripts or included files with first line starting with # have the 1st line missed from the output).
  • Fixed bug #46817 (tokenizer misses last single-line comment (PHP 5.3+, with re2c lexer)).
  • Fixed bug #46811 (ini_set() doesn't return false on failure).
  • Fixed bug #46763 (mb_stristr() wrong output when needle does not exist).
fixed bug #46755 (warning
  • Fixed bug #46746 (xmlrpc_decode_request outputs non-suppressable error when given bad data).
  • Fixed bug #46738 (Segfault when mb_detect_encoding() fails).
  • Fixed bug #46731 (Missing validation for the options parameter of the imap_fetch_overview() function).
  • Fixed bug #46711 (cURL curl_setopt leaks memory in foreach loops).
  • Fixed bug #46701 (Creating associative array with long values in the key fails on 32bit linux).
  • Fixed bug #46681 (mkdir() fails silently on PHP 5.3).
  • Fixed bug #46653 (can't extend mysqli).
  • Fixed bug #46646 (Restrict serialization on some internal classes like Closure and SplFileInfo using exceptions).
fixed bug #46623 (oci8
  • Fixed bug #46578 (strip_tags() does not honor end-of-comment when it encounters a single quote).
  • Fixed bug #46546 (Segmentation fault when using declare statement with non-string value).
  • Fixed bug #46542 (Extending PDO class with a __call() function doesn't work as expected).
  • Fixed bug #46421 (SplFileInfo not correctly handling /).
  • Fixed bug #46347 (parse_ini_file() doesn't support * in keys).
fixed bug #46268 (datetime
  • Fixed bug #46241 (stacked error handlers, internal error handling in general).
  • Fixed bug #46238 (Segmentation fault on static call with empty string method).
  • Fixed bug #46192 (ArrayObject with objects as storage serialization).
  • Fixed bug #46185 (importNode changes the namespace of an XML element).
  • Fixed bug #46178 (memory leak in ext/phar).
  • Fixed bug #46160 (SPL - Memory leak when exception is thrown in offsetSet).
  • Fixed Bug #46147 (after stream seek, appending stream filter reads incorrect data).
  • Fixed bug #46127 (php_openssl_tcp_sockop_accept forgets to set context on accepted stream)
  • Fixed bug #46115 (Memory leak when calling a method using Reflection).
  • Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on multiple calls).
  • Fixed bug #46108 (DateTime - Memory leak when unserializing).
  • Fixed bug #46106 (Memory leaks when using global statement).
fixed bug #46099 (xsltprocessor
  • Fixed bug #46087 (DOMXPath - segfault on destruction of a cloned object).
  • Fixed bug #46048 (SimpleXML top-level @attributes not part of iterator).
  • Fixed bug #46044 (Mysqli - wrong error message).
  • Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding()).
  • Fixed bug #46039 (ArrayObject iteration is slow).
  • Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause a segfault.)
  • Fixed bug #45991 (Ini files with the UTF-8 BOM are treated as invalid).
  • Fixed bug #45989 (json_decode() doesn't return NULL on certain invalid strings).
  • Fixed bug #45976 (Moved SXE from SPL to SimpleXML).
  • Fixed bug #45928 (large scripts from stdin are stripped at 16K border).
  • Fixed bug #45911 (Cannot disable ext/hash).
  • Fixed bug #45907 (undefined reference to 'PHP_SHA512Init').
  • Fixed bug #45826 (custom ArrayObject serialization).
  • Fixed bug #45820 (Allow empty keys in ArrayObject).
  • Fixed bug #45791 (json_decode() doesn't convert 0e0 to a double).
  • Fixed bug #45786 (FastCGI process exited unexpectedly).
fixed bug #45757 (freebsd4.11 build failure
  • Fixed bug #45743 (property_exists fails to find static protected member in child class).
  • Fixed bug #45717 (Fileinfo/libmagic build fails, missing err.h and getopt.h).
  • Fixed bug #45706 (Unserialization of classes derived from ArrayIterator fails).
  • Fixed bug #45696 (Not all DateTime methods allow method chaining).
  • Fixed bug #45682 (Unable to var_dump(DateInterval)).
  • Fixed bug #45447 (Filesystem time functions on Vista and server 2008).
fixed bug #45432 (pdo
  • Fixed bug #45392 (ob_start()/ob_end_clean() and memory_limit).
  • Fixed bug #45384 (parse_ini_file will result in parse error with no trailing newline).
  • Fixed bug #45382 (timeout bug in stream_socket_enable_crypto).
  • Fixed bug #45044 (relative paths not resolved correctly).
  • Fixed bug #44861 (scrollable cursor don't work with pgsql).
  • Fixed bug #44842 (parse_ini_file keys that start/end with underscore).
  • Fixed bug #44575 (parse_ini_file comment # line problems).
fixed bug #44409 (pdo
  • Fixed bug #44173 (PDO->query() parameter parsing/checking needs an update).
  • Fixed bug #44154 (pdo->errorInfo() always have three elements in the returned array).
  • Fixed bug #44153 (pdo->errorCode() returns NULL when there are no errors).
  • Fixed bug #44135 (PDO MySQL does not support CLIENT_FOUND_ROWS).
  • Fixed bug #44100 (Inconsistent handling of static array declarations with duplicate keys).
  • Fixed bug #43831 ($this gets mangled when extending PDO with persistent connection).
  • Fixed bug #43817 (opendir() fails on Windows directories with parent directory unaccessible).
  • Fixed bug #43069 (SoapClient causes 505 HTTP Version not supported error message).
fixed bug #43008 (php
  • Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped).
  • Fixed bug #41874 (separate STDOUT and STDERR in exec functions).
  • Fixed bug #41534 (SoapClient over HTTPS fails to reestablish connection).
  • Fixed bug #38802 (max_redirects and ignore_errors).
  • Fixed bug #35980 (touch() works on files but not on directories).
To Top