PHP Release 5.1.0


PHP 5.1.0. Release Announcement

The PHP development team is proud to announce the release of PHP PHP 5.1.0.
Some of the key features of PHP 5.1.0 include:

  • A complete rewrite of date handling code, with improved timezone support.
  • Significant performance improvements compared to PHP 5.0.X.
  • PDO extension is now enabled by default.
  • Over 30 new functions in various extensions and built-in functionality.
  • Bundled libraries, PCRE and SQLite upgraded to latest versions.
  • Over 400 various bug fixes.
  • PEAR upgraded to version 1.4.5

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

In addition to new features, this release includes a number of important security fixes:

  • Fixed a Cross Site Scripting (XSS) vulnerability in phpinfo() that could lead f.e. to cookie exposure, when a phpinfo() script is accidently left on a production server.
  • Fixed multiple safe_mode/open_basedir bypass vulnerabilities in ext/curl and ext/gd that could lead to exposure of files normally not accessible due to safe_mode or open_basedir restrictions.
  • Fixed a possible $GLOBALS overwrite problem in file upload handling, extract() and import_request_variables() that could lead to unexpected security holes in scripts assumed secure. (For more information, see here).
  • Fixed a problem when a request was terminated due to memory_limit constraints during certain parse_str() calls. In some cases this can result in register_globals being turned on.
  • Fixed an issue with trailing slashes in allowed basedirs. They were ignored by open_basedir checks, so that specified basedirs were handled as prefixes and not as full directory names.
  • Fixed an issue with calling virtual() on Apache 2. This allowed bypassing of certain configuration directives like safe_mode or open_basedir.
  • Updated to the latest pcrelib to fix a possible integer overflow vulnerability announced in CAN-2005-2491.
  • Possible header injection in mb_send_mail() function via the "To" address, the first parameter of the function.

All users of PHP 5.0 and early adopters of 5.1 betas are strongly advised to upgrade to 5.1 as soon as possible. Furthermore, 5.1 branch obsoletes the 5.0 PHP branch.

Upgrading Guide is available to ease the transition from prior PHP versions.

Source Code
Change Logs
added optional first parameter to xsltprocessor
  • Added imageconvolution() function which can be used to apply a custom 3x3 matrix convolution to an image. (Pierre) only allow certain functions to be called from XSLT.
  • Added the ability to override the autotools executables used by the buildconf script via the PHP_AUTOCONF and PHP_AUTOHEADER environmental variables.
  • Added several new functions to support the PostgreSQL v3 protocol introduced in PostgreSQL 7.4.
  • pg_transaction_status() - in-transaction status of a database connection.
  • pg_query_params() - execution of parameterized queries.
  • pg_prepare() - prepare named queries.
  • pg_execute() - execution of named prepared queries.
  • pg_send_query_params() - async equivalent of pg_query_params().
  • pg_send_prepare() - async equivalent of pg_prepare().
  • pg_send_execute() - async equivalent of pg_execute().
  • pg_result_error_field() - highly detailed error information, most importantly the SQLSTATE error code.
  • pg_set_error_verbosity() - set verbosity of errors.
  • Added optional fifth parameter "count" to preg_replace_callback() and preg_replace() to count the number of replacements made. FR #32275.
  • Added optional third parameter "charlist" to str_word_count() which contains characters to be considered as word part. FR #31560.
  • Added interface Serializable.
  • Added pg_field_type_oid() PostgreSQL function.
  • Added zend_declare_property_...() and zend_update_property_...() API functions for bool, double and binary safe strings.
  • Added possibility to access INI variables from within .ini file.
  • Added variable $_SERVER['REQUEST_TIME'] containing request start time.
  • Added optional float parameter to gettimeofday().
  • Added apache_reset_timeout() Apache1 function.
  • Added sqlite_fetch_column_types() 3rd argument for arrays.
  • Added optional offset parameter to stream_get_contents() and file_get_contents().
  • Added optional maxlen parameter to file_get_contents().
  • Added SAPI hook to get the current request time.
added new functions
  • array_diff_key()
  • array_diff_ukey()
  • array_intersect_key()
  • array_intersect_ukey()
  • array_product()
  • DomDocumentFragment::appendXML()
  • fputcsv()
  • htmlspecialchars_decode()
  • inet_pton()
  • inet_ntop()
  • mysqli::client_info property
  • posix_access()
  • posix_mknod()
  • SimpleXMLElement::registerXPathNamespace()
  • stream_context_get_default()
  • stream_socket_enable_crypto()
  • stream_wrapper_unregister()
  • stream_wrapper_restore()
  • stream_filter_remove()
  • time_sleep_until()
added domdocument
  • Added Cursor support for MySQL 5.0.x in mysqli
  • Added proxy support to ftp wrapper via http.
  • Added MDTM support to ftp_url_stat.
  • Added zlib stream filter support.
  • Added bz2 stream filter support.
  • Added max_redirects context option that specifies how many HTTP redirects to follow.
  • Added support of parameter=>value arrays to xsl_xsltprocessor_set_parameter().
  • PHP extension loading mechanism with support for module dependencies and conflicts.
  • Improved interactive mode of PHP CLI (php -a).
improved performance of
  • general execution/compilation.
  • switch() statement.
  • several array functions.
  • virtual path handling by adding a realpath() cache.
  • variable fetches.
  • magic method invocations.
  • Improved support for embedded server in mysqli.
  • Improved mysqli extension.
  • added constructor for mysqli_stmt and mysqli_result classes
  • added new function mysqli_get_charset()
  • added new function mysqli_set_charset()
  • added new class mysqli_driver
  • added new class mysqli_warning
  • added new class mysqli_exception
  • added new class mysqli_sql_exception
  • Improved SPL extension.
  • Moved RecursiveArrayIterator from examples into extension
  • Moved RecursiveFilterIterator from examples into extension
  • Added SplObjectStorage
  • Made all SPL constants class constants
  • Renamed CachingRecursiveIterator to RecursiveCachingIterator to follow Recursive<*>Iterator naming scheme.
  • added standard hierarchy of Exception classes
  • added interface Countable
  • added interfaces Subject and SplObserver
  • added spl_autoload*() functions
  • converted several 5.0 examples into c code
  • added class SplFileObject
  • added possibility to use a string with class_parents() and class_implements().
  • Changed type hints to allow "null" as default value for class and array.
  • Changed SQLite extension to be a shared module in Windows distribution.
  • Changed "instanceof" and "catch" operators, is_a() and is_subclass_of() functions to not call __autoload().
  • Changed sha1_file() and md5_file() functions to use streams instead of low level IO.
  • Changed abstract private methods to be not allowed anymore.
  • Changed stream_filter_(ap|pre)pend() to return resource.
  • Changed mysqli_exception and sqlite_exception to use RuntimeException as base if SPL extension is present.
upgraded bundled libraries
  • PCRE library to version 6.2.
  • SQLite 3 library in ext/pdo_sqlite to 3.2.7.
  • SQLite 2 library in ext/sqlite to 2.8.16.
  • Upgraded bundled libraries in Windows distribution.
  • zlib 1.2.3
  • curl 7.14.0
  • openssl 0.9.8
  • ming 0.3b
  • libpq 8.0.1
  • Implemented feature request #33452 (Year belonging to ISO week).
  • Allowed return by reference from internal functions.
  • Rewrote strtotime() with support for timezones and many new formats. Implements feature requests #21399, #26694, #28088, #29150, #29585 and #29595.
moved extensions to pecl
  • ext/cpdf
  • ext/dio
  • ext/fam
  • ext/ingres_ii
  • ext/mnogosearch
  • ext/w32api
  • ext/yp
  • ext/mcve
  • ext/oracle
  • ext/ovrimos
  • ext/pfpro
  • ext/dbx
  • ext/ircg
  • Removed php_check_syntax() function which never worked properly.
  • Removed garbage manager in Zend Engine which results in more aggressive freeing of data.
  • Fixed "make test" to work for phpized extensions.
  • Fixed Apache 2 regression with sub-request handling on non-linux systems.
  • Fixed PDO shutdown problem (possible infinite loop running rollback on shutdown).
fixed pecl bug #3714 (pdo
  • Fixed ZTS destruction.
  • Fixed __get/__set to allow recursive calls for different properties.
  • Fixed a bug where stream_get_meta_data() did not return the "uri" element for files opened with tmpname().
  • Fixed a problem with SPL iterators aggregating the inner iterator.
  • Fixed an error in mysqli_fetch_fields (returned NULL instead of an array when row number > field_count).
fixed bug in mysql
  • Fixed bug in mysqli extension with unsigned int(11) being represented as signed integer in PHP instead of string in 32bit systems.
  • Fixed bug with $HTTP_RAW_POST_DATA not getting set.
  • Fixed crash inside stream_get_line() when length parameter equals 0.
  • Fixed ext/mysqli to allocate less memory when fetching bound params of type (MEDIUM|LONG)BLOB/(MEDIUM|LONG)TEXT.
  • Fixed extension initialization to respect dependencies between extensions.
  • Fixed failing queries (FALSE returned) with mysqli_query() on 64 bit systems.
  • Fixed fgetcsv() and fputcsv() inconsistency.
  • Fixed inheritance check to control return by reference and pass by reference correctly (ArrayAccess can no longer support references correctly).
  • Fixed initializing and argument checking for posix_mknod().
  • Fixed memory corruption in ImageTTFText() with 64bit systems.
  • Fixed memory corruption in pg_copy_from() in case the as_null parameter was passed.
  • Fixed memory corruption in stristr().
  • Fixed possible GLOBALS variable override when register_globals are ON.
  • Fixed possible INI setting leak via virtual() in Apache 2 sapi.
  • Fixed possible register_globals toggle via parse_str().
  • Fixed potential GLOBALS overwrite via import_request_variables() and possible crash and/or memory corruption.
  • Fixed segfaults when CURL callback functions throw exception.
  • Fixed support for shared extensions on AIX.
  • Fixed bug #35342 (isset(DOMNodeList->length) returns false).
  • Fixed bug #35341 (Fix for bug #33760 breaks build with older curl).
fixed bug #35336 (crash on pdo
  • Fixed bug #35303 (PDO prepare() crashes with invalid parameters).
  • Fixed bug #35293 (PDO segfaults when using persistent connections).
  • Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module).
  • Fixed bug #35273 (Error in mapping soap - java types).
  • Fixed bug #35249 (compile failure when ext/readline is compiled as shared).
  • Fixed bug #35248 (sqlite_query() doesn't set error_msg when return value is being used).
  • Fixed bug #35243 (php_mblen() crashes when compiled with thread-safety on Linux).
  • Fixed bug #35239 (Objects can lose references).
  • Fixed bug #35229 (call_user_func() crashes when argument_stack is nearly full).
  • Fixed bug #35197 (Destructor is not called).
  • Fixed bug #35179 (tokenizer extension needs T_HALT_COMPILER).
  • Fixed bug #35176 (include()/require()/*_once() produce wrong error messages about main()).
  • Fixed bug #35147 (__HALT_COMPILER() breaks with --enable-zend-multibyte).
  • Fixed bug #35143 (gettimeofday() ignores current time zone).
  • Fixed bug #35142 (SOAP Client/Server Complex Object Support).
  • Fixed bug #35135 (PDOStatment without related PDO object may crash).
  • Fixed bug #35091 (SoapClient leaks memory).
  • Fixed bug #35079 (stream_set_blocking(true) toggles, not enables blocking).
  • Fixed bug #35078 (configure does not find ldap_start_tls_s).
  • Fixed bug #35046 (phpinfo() uses improper css enclosure).
  • Fixed bugs #35022, #35019 (Regression in the behavior of key() and current() functions).
  • Fixed bug #35017 (Exception thrown in error handler may cause unexpected behavior).
  • Fixed bug #35014 (array_product() always returns 0).
fixed bug #35009 (zts
  • Fixed bug #34996 (ImageTrueColorToPalette() crashes when ncolors is zero).
  • Fixed bug #34982 (array_walk_recursive() modifies elements outside function scope).
  • Fixed bug #34977 (Compile failure on MacOSX due to use of varargs.h).
  • Fixed bug #34968 (bz2 extension fails on to build on some win32 setups).
  • Fixed bug #34965 (tidy is not binary safe).
  • Fixed bug #34957 (PHP doesn't respect ACLs for access checks).
  • Fixed bug #34950 (Unable to get WSDL through proxy).
  • Fixed bug #34938 (dns_get_record() doesn't resolve long hostnames and leaks).
  • Fixed bug #34905 (Digest authentication does not work with Apache 1).
fixed bug #34902 (mysqli
  • Fixed bug #34899 (Fixed sqlite extension compile failure).
  • Fixed bug #34893 (PHP5.1 overloading, Cannot access private property).
  • Fixed bug #34884 (Possible crash in ext/sqlite when sqlite.assoc_case is being used).
  • Fixed bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms).
  • Fixed bug #34873 (Segmentation Fault on foreach in object).
  • Fixed bug #34856 (configure fails to detect libiconv's type).
  • Fixed bug #34855 (ibase_service_attach() segfault on AMD64).
  • Fixed bug #34851 (SO_RECVTIMEO and SO_SNDTIMEO socket options expect integer parameter on Windows).
  • Fixed bug #34850 (--program-suffix and --program-prefix not included in man page names).
  • Fixed bug #34821 (zlib encoders fail on widely varying binary data on windows).
  • Fixed bug #34818 (several functions crash when invalid mysqli_link object is passed).
fixed bug #34810 (mysqli
  • Fixed bug #34809 (FETCH_INTO in PDO crashes without a destination object).
  • Fixed bug #34802 (Fixed crash on object instantiation failure).
  • Fixed bug #34796 (missing SSL linking in ext/ftp when configured as shared).
  • Fixed bug #34790 (preg_match_all(), named capturing groups, variable assignment/return => crash).
  • Fixed bug #34788 (SOAP Client not applying correct namespace to generated values).
  • Fixed bug #34787 (SOAP Client not handling boolean types correctly).
  • Fixed bug #34786 (2 @ results in change to error_reporting() to random value)
  • Fixed bug #34785 (subclassing of mysqli_stmt does not work).
  • Fixed bug #34782 (token_get_all() gives wrong result).
  • Fixed bug #34777 (Crash in dblib when fetching non-existent error info).
  • Fixed bug #34771 (strtotime() fails with 1-12am/pm).
  • Fixed bug #34767 (Zend Engine 1 Compatibility not copying objects correctly).
  • Fixed bug #34758 (PDO_DBLIB did not implement rowCount()).
  • Fixed bug #34757 (iconv_substr() gives "Unknown error" when offset > string length).
  • Fixed bug #34742 (ftp wrapper failures caused from segmented command transfer).
  • Fixed bug #34725 (CLI segmentation faults during cleanup).
  • Fixed bug #34723 (array_count_values() strips leading zeroes).
  • Fixed bug #34712 (zend.ze1_compatibility_mode = on segfault).
  • Fixed bug #34704 (Infinite recursion due to corrupt JPEG).
  • Fixed bug #34678 (__call(), is_callable() and static methods).
  • Fixed bug #34676 (missing support for strtotime("midnight") and strtotime("noon")).
  • Fixed bug #34645 (ctype corrupts memory when validating large numbers).
  • Fixed bug #34643 (wsdl default value has no effect).
  • Fixed bug #34623 (Crash in pdo_mysql on longtext fields).
fixed bug #34617 (zend_deactivate
  • Fixed bug #34590 (User defined PDOStatement class can't implement methods).
  • Fixed bug #34584 (Segfault with SPL autoload handler).
  • Fixed bug #34581 (crash with mod_rewrite).
  • Fixed bug #34565 (mb_send_mail does not fetch mail.force_extra_parameters).
  • Fixed bug #34557 (php -m exits with "error" 1).
  • Fixed bug #34518 (Unset doesn't separate container in CV).
  • Fixed bug #34505 (Possible memory corruption when unmangling properties with empty names).
  • Fixed bug #34478 (Incorrect parsing of url's fragment (#...)).
  • Fixed bug #34467 (foreach + __get + __set inconsistency).
  • Fixed bug #34456 (Possible crash inside pspell extension).
fixed bug #34453 (parsing http
  • Fixed bug #34450 (Segfault when calling mysqli_close() in destructor).
fixed bug #34449 (ext/soap
  • Fixed bug #34420 (Possible crash inside curl_multi_remove_handle()).
fixed bug #34358 (fatal error
  • Fixed bug #34331 (php crashes when variables_order is empty).
  • Fixed bug #34321 (Possible crash in filter code).
  • Fixed bug #34311 (unserialize() crashes with chars above 191 dec).
  • Fixed bug #34310 (foreach($arr as $c->d => $x) crashes).
  • Fixed bug #34307 (on_modify handler not called to set the default value if setting from php.ini was invalid).
  • Fixed bug #34306 (wddx_serialize_value() crashes with long array keys).
  • Fixed bug #34304 (date() doesn't have a modifier for ISO Week Day).
  • Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9).
fixed bug #34299 (reflectionclass
  • Fixed bug #34284 (CLI phpinfo showing html on _SERVER["argv"]).
  • Fixed bug #34277 (array_filter() crashes with references and objects).
  • Fixed bug #34276 (setAttributeNS doesn't work with default namespace).
  • Fixed bug #34260 (Segfault with callbacks (array_map) + overloading).
  • Fixed bug #34257 (lib64 not handled correctly in ming extension).
  • Fixed bug #34221 (Compiling xmlrpc as shared fails other parts).
  • Fixed bug #34216 (Segfault with autoload).
  • Fixed bug #34199 (if($obj)/if(!$obj) inconsistency because of cast handler).
  • Fixed bug #34191 (ob_gzhandler does not enforce trailing \0).
  • Fixed bug #34156 (memory usage remains elevated after memory limit is reached).
  • Fixed bug #34148 (+,- and . not supported as parts of scheme).
  • Fixed bug #34137 (assigning array element by reference causes binary mess).
  • Fixed bug #34103 (line numbering not maintained in dom document).
  • Fixed bug #34078 (Reflection API problems in methods with boolean or null default values).
  • Fixed bug #34068 (Numeric string as array key not cast to integer in wddx_deserialize()).
  • Fixed bug #34064 (arr[] as param to function in class gives invalid opcode).
  • Fixed bug #34062 (Crash in catch block when many arguments are used).
  • Fixed bug #34052 (date('U') returns %ld not unix timestamp).
  • Fixed bug #34045 (Buffer overflow with serialized object).
  • Fixed bug #34001 (pdo_mysql truncates numeric fields at 4 chars).
  • Fixed bug #33999 (object remains object when cast to int).
  • Fixed bug #33996 (No information given for fatal error on passing invalid value to typed argument).
  • Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP).
  • Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2).
  • Fixed bug #33967 (misuse of Exception constructor doesn't display errorfile).
  • Fixed bug #33966 (Wrong use of reflectionproperty causes a segfault).
  • Fixed bug #33963 (mssql_bind() fails on input parameters).
  • Fixed bug #33958 (duplicate cookies and magic_quotes=off may cause a crash).
  • Fixed bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number).
  • Fixed bug #33940 (array_map() fails to pass by reference when called recursively).
  • Fixed bug #33917 (number_format() output with > 1 char separators).
  • Fixed bug #33904 (input array keys being escaped when magic quotes is off).
  • Fixed bug #33903 (spl_autoload_register class method).
fixed bug #33899 (cli
  • Fixed bug #33882 (CLI was looking for php.ini in wrong path).
  • Fixed bug #33869 (strtotime() problem with "+1days" format).
  • Fixed bug #33841 (pdo sqlite driver forgets to update affected column count on execution of prepared statments).
  • Fixed bug #33837 (Informix ESQL version numbering schema changed).
  • Fixed bug #33829 (mime_content_type() returns text/plain for gzip and bzip files).
  • Fixed bug #33802 (throw Exception in error handler causes crash).
  • Fixed bug #33771 (error_reporting falls to 0 when @ was used inside try/catch block).
  • Fixed bug #33760 (cURL needs to implement CRYPTO_callback functions to prevent locking).
  • Fixed bug #33732 (Wrong behavior of constants in class and interface extending).
  • Fixed bug #33723 (php_value overrides php_admin_value).
  • Fixed bug #33720 (mb_encode_mimeheader does not work for multibyte chars).
  • Fixed bug #33710 (ArrayAccess objects does not initialize $this).
  • Fixed bug #33690 (Crash setting some ini directives in httpd.conf).
  • Fixed bug #33673 (Added detection for partially uploaded files).
  • Fixed bug #33605 (substr_compare() crashes with negative offset and length).
  • Fixed bug #33597 (setcookie() "expires" date format doesn't comply with RFC).
fixed bug #33588 (ldap
  • Fixed bug #33578 (strtotime() problem with "Oct17" format).
  • Fixed bug #33578 (strtotime() doesn't understand "11 Oct" format).
  • Fixed bug #33562 (date("") crashes).
  • Fixed bug #33558 (warning with nested calls to functions returning by reference).
  • Fixed bug #33536 (strtotime() defaults to now even on non time string).
  • Fixed bug #33532 (Different output for strftime() and date()).
  • Fixed bug #33523 (Memory leak in xmlrpc_encode_request()).
  • Fixed bug #33520 (crash if safe_mode is on and session.save_path is changed).
  • Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods).
  • Fixed bug #33491 (crash after extending MySQLi internal class).
  • Fixed bug #33475 (cURL handle is not closed on curl_close().
  • Fixed bug #33469 (Compile error undefined reference to ifx_checkAPI).
  • Fixed bug #33433 (strtoll not available on Tru64).
fixed bug #33427 (ext/odbc
  • Fixed bug #33415 (strtotime() related bugs).
  • Fixed bug #33414 (Comprehensive list of incorrect days returned after strtotime() / date() tests).
  • Fixed bug #33389 (double free() when exporting a ReflectionClass).
  • Fixed bug #33383 (crash when retrieving empty LOBs).
  • Fixed bug #33382 (array_reverse() fails after *sort()), introduced by zend_hash_sort() optimizations in HEAD.
fixed bug #33340 (cli crash when calling php
  • Fixed bug #33326 (Cannot build extensions with phpize on Macosx).
  • Fixed bug #33318 (throw 1; results in Invalid opcode 108/1/8).
  • Fixed bug #33312 (ReflectionParameter methods do not work correctly).
fixed bug #33299 (php
  • Fixed bug #33286 (nested array_walk() calls and user array compare functions broken; FCI cache).
  • Fixed bug #33277 (private method accessed by child class).
  • Fixed bug #33268 (iconv_strlen() works only with a parameter of < 3 in length).
  • Fixed bug #33257 (array_splice() inconsistent when passed function instead of variable).
  • Fixed bug #33243 (ze1_compatibility_mode does not work as expected).
  • Fixed bug #33242 (Mangled error message when stream fails).
  • Fixed bug #33222 (segfault when CURL handle is closed in a callback).
  • Fixed bug #33214 (odbc_next_result does not signal SQL errors with 2-statement SQL batches).
fixed bug #33212 ([gcc 4]
  • Fixed bug #33210 (relax jpeg recursive loop protection).
  • Fixed bug #33201 (Crash when fetching some data types).
fixed bug #33200 (preg_replace()
  • Fixed bug #33185 (--enable-session=shared does not build).
  • Fixed bug #33171 (foreach enumerates private fields declared in base classes).
  • Fixed bug #33167 (Possible crash inside pg_fetch_array()).
  • Fixed bug #33164 (Soap extension incorrectly detects HTTP/1.1).
  • Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF).
  • Fixed bug #33153 (crash in mssql_next result).
fixed bug #33150 (shtool
  • Fixed bug #33136 (method offsetSet in class extended from ArrayObject crash PHP).
  • Fixed bug #33125 (imagecopymergegray() produces mosaic rainbow effect).
  • Fixed bug #33116 (crash when assigning class name to global variable in __autoload).
  • Fixed bug #33090 (mysqli_prepare() doesn't return an error).
  • Fixed bug #33076 (str_ireplace() incorrectly counts result string length and may cause segfault).
  • Fixed bug #33072 (Add a safemode/open_basedir check for runtime "session.save_path" change using session_save_path() function).
  • Fixed bug #33070 (Improved performance of bzdecompress() by several orders of magnitude).
  • Fixed bug #33059 (crash when moving xml attribute set in dtd).
  • Fixed bug #33057 (Don't send extraneous entity-headers on a 304 as per RFC 2616 section 10.3.5)
  • Fixed bug #33019 (socket errors cause memory leaks in php_strerror()). .
  • Fixed bug #33017 ("make distclean" gives an error with VPATH build).
  • Fixed bug #33013 ("next month" was handled wrong while parsing dates).
  • Fixed bug #32993 (implemented Iterator function current() don't throw exception).
fixed bug #32981 (reflectionmethod
  • Fixed bug #32956 (mysql_bind_result() doesn't support MYSQL_TYPE_NULL).
  • Fixed bug #32947 (Incorrect option for mysqli default password).
  • Fixed bug #32944 (Disabling session.use_cookies doesn't prevent reading session cookies).
  • Fixed bug #32941 (Sending structured SOAP fault kills a php).
  • Fixed bug #32937 (open_basedir looses trailing / in the limiter).
  • Fixed bug #32936 (http redirects URLs are not checked for control chars).
  • Fixed bug #32933 (Cannot extend class "SQLiteDatabase").
fixed bug #32932 (oracle ldap
  • Fixed bug #32930 (class extending DOMDocument doesn't clone properly).
  • Fixed bug #32924 (file included with "auto_prepend_file" can be included with require_once() or include_once()).
  • Fixed bug #32904 (pg_get_notify() ignores result_type parameter).
  • Fixed bug #32852 (Crash with singleton and __destruct when zend.ze1_compatibility_mode = On).
  • Fixed bug #32833 (Invalid opcode).
  • Fixed bug #32813 (parse_url() does not handle scheme-only urls properly).
  • Fixed bug #32810 (temporary files not using plain file wrapper).
  • Fixed bug #32809 (Missing T1LIB support on Windows).
  • Fixed bug #32802 (General cookie overrides more specific cookie).
fixed bug #32799 (crash
  • Fixed bug #32776 (SOAP doesn't support one-way operations).
  • Fixed bug #32773 (GMP functions break when second parameter is 0).
  • Fixed bug #32759 (incorrect determination of default value (COM)).
  • Fixed bug #32758 (Cannot access safearray properties in VB6 objects).
  • Fixed bug #32755 (Segfault in replaceChild() when DocumentFragment has no children).
  • Fixed bug #32753 (Undefined constant SQLITE_NOTADB).
  • Fixed bug #32742 (segmentation fault when the stream with a wrapper is not closed).
  • Fixed bug #32699 (pg_affected_rows() was defined when it was not available).
  • Fixed bug #32686 (Require/include file in destructor causes segfault).
fixed bug #32682 (ext/mssql
  • Fixed bug #32674 (exception in iterator causes crash).
  • Fixed bug #32660 (Assignment by reference causes crash when field access is overloaded (__get)).
  • Fixed bug #32647 (Using register_shutdown_function() with invalid callback can crash PHP).
  • Fixed bug #32615 (Segfault in replaceChild() using fragment when previousSibling is NULL).
fixed bug #32613 (ext/snmp
  • Fixed bug #32608 (html_entity_decode() converts single quotes even if ENT_NOQUOTES is given).
  • Fixed bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct).
fixed bug #32591 (ext/mysql
  • Fixed bug #32589 (possible crash inside imap_mail_compose() function).
  • Fixed bug #32589 (Possible crash inside imap_mail_compose, with charsets).
fixed bug #32587 (apache2
  • Fixed bug #32560 (configure looks for incorrect db2 library).
  • Fixed bug #32553 (mmap loads only the 1st 2000000 bytes on Win32).
  • Fixed bug #32533 (proc_get_status() returns the incorrect process status).
  • Fixed bug #32530 (chunk_split() does not append endstr if chunklen is longer then the original string).
  • Fixed bug #32491 (File upload error - unable to create a temporary file).
  • Fixed bug #32455 (wrong setting property to unset value).
  • Fixed bug #32429 (method_exists() always return TRUE if __call method exists).
  • Fixed bug #32428 (The @ warning error suppression operator is broken).
  • Fixed bug #32427 (Interfaces are not allowed 'static' access modifier).
fixed bug #32405 (mysqli
  • Fixed bug #32296 (get_class_methods() output has changed between 5.0.2 and 5.0.3).
  • Fixed bug #32282 (Segfault in mysqli_fetch_array on 64-bit).
  • Fixed bug #32245 (xml_parser_free() in a function assigned to the xml parser gives a segfault).
  • Fixed bug #32179 (xmlrpc_encode() segfaults with recursive references).
  • Fixed bug #32171 (Userspace stream wrapper crashes PHP).
  • Fixed bug #32160 (copying a file into itself leads to data loss).
  • Fixed bug #32139 (SOAP client does not auto-handle base64 encoding).
  • Fixed bug #32109 ($_POST is not populated in multi-threaded environment).
  • Fixed bug #32080 (segfault when assigning object to itself with zend.ze1_compatibility_mode=On).
  • Fixed bug #32021 (Crash caused by range('', 'z')).
fixed bug #32013 (ext/mysqli bind_result causes fatal error
  • Fixed bug #32010 (Memory leak in mssql_fetch_batch).
  • Fixed bug #32009 (crash when mssql_bind() is called more than once).
  • Fixed bug #31971 (ftp_login fails on some SSL servers).
fixed bug #31887 (isapi
  • Fixed bug #31828 (Crash with zend.ze1_compatibility_mode=On).
  • Fixed bug #31668 (multi_query works exactly every other time - multi query d/e flag global and not per connection).
  • Fixed bug #31636 (another crash when echoing a COM object).
  • Fixed bug #31583 (php_std_date() uses short day names in non-y2k_compliance mode).
  • Fixed bug #31525 (object reference being dropped. $this getting lost).
  • Fixed bug #31502 (Wrong deserialization from session when using WDDX serializer).
  • Fixed bug #31478 (segfault with empty() / isset()).
  • Fixed bug #31465 (False warning in unpack() when working with *).
  • Fixed bug #31363 (broken non-blocking flock()).
  • Fixed bug #31358 (Older GCC versions do not provide portable va_copy()).
  • Fixed bug #31341 (escape on curly inconsistent).
  • Fixed bug #31256 (PHP_EVAL_LIBLINE configure macro does not handle -pthread).
  • Fixed bug #31213 (Side effects caused by fix of bug #29493).
  • Fixed bug #31177 (memory leaks and corruption because of incorrect refcounting).
  • Fixed bug #31158 (array_splice on $GLOBALS crashes).
  • Fixed bug #31054 (safe_mode & open_basedir checks only check first include_path value).
fixed bug #31033 (php
  • Fixed bug #30961 (Wrong line number in ReflectionClass getStartLine()).
  • Fixed bug #30889 (Conflict between __get/__set and ++ operator).
  • Fixed bug #30833 (array_count_values() modifying input array).
  • Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden methods).
  • Fixed bug #30820 (static member conflict with $this->member silently ignored).
  • Fixed bug #30819 (Better support for LDAP SASL bind).
  • Fixed bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded).
  • Fixed bug #30707 (Segmentation fault on exception in method).
  • Fixed bug #30702 (cannot initialize class variable from class constant).
  • Fixed bug #30578 (Output buffers flushed before calling __destruct() functions).
  • Fixed bug #30519 (Interface not existing says Class not found).
  • Fixed bug #30407 (Strange behavior of default arguments).
  • Fixed bug #30394 (Assignment operators yield wrong result with __get/__set).
  • Fixed bug #30332 (zend.ze1_compatibility_mode isn't fully compatible with array_push()).
  • Fixed bug #30162 (Catching exception in constructor causes lose of $this).
  • Fixed bug #30140 (Problem with array in static properties).
  • Fixed bug #30126 (Enhancement for error message for abstract classes).
  • Fixed bug #30096 (gmmktime does not return the current time).
  • Fixed bug #30080 (Passing array or non array of objects).
  • Fixed bug #30052 (Crash on shutdown after odbc_pconnect()).
  • Fixed bug #29983 (PHP does not explicitly set mime type & charset).
  • Fixed bug #29975 (memory leaks when set_error_handler() is used inside error handler).
  • Fixed bug #29971 (variables_order behavior).
  • Fixed bug #29944 (Function defined in switch, crashes).
  • Fixed bug #29896 (Backtrace argument list out of sync).
fixed bug #29728 (reflection api feature
  • Fixed bug #29689 (default value of protected member overrides default value of private and other private variable problems in inherited classes).
  • Fixed bug #29683 (headers_list() returns empty array).
  • Fixed bug #29583 (crash when echoing a COM object).
  • Fixed bug #29522 (accessing properties without connection).
  • Fixed bug #29361 (var_export() producing invalid code).
  • Fixed bug #29338 (unencoded spaces get ignored after certain tags).
  • Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default).
fixed bug #29334 (win32 mail() provides incorrect date
  • Fixed bug #29311 (calling parent constructor in mysqli).
  • Fixed bug #29268 (__autoload() not called with Reflection->getClass()).
  • Fixed bug #29256 (SOAP HTTP Error when envelop size is more than 24345 bytes).
  • Fixed bug #29253 (array_diff with $GLOBALS argument fails).
  • Fixed bug #29236 (memory error when wsdl-cache is enabled).
fixed bug #29109 (soapfault exception
  • Fixed bug #29104 (Function declaration in method doesn't work).
  • Fixed bug #29061 (soap extension segfaults).
  • Fixed bug #29015 (Incorrect behavior of member vars(non string ones)-numeric mem vars and others).
  • Fixed bug #28985 (__getTypes() returning nothing on complex WSDL).
  • Fixed bug #28969 (Wrong data encoding of special characters).
  • Fixed bug #28839 (SIGSEGV in interactive mode (php -a)).
  • Fixed bug #28605 (Need to use -[m]ieee option for Alpha CPUs).
fixed bug #28568 (sapi
  • Fixed bug #28377 (debug_backtrace is intermittently passing args).
  • Fixed bug #28355 (glob wont error if dir is not readable).
  • Fixed bug #28072 (static array with some constant keys will be incorrectly ordered).
  • Fixed bug #27908 (xml default_handlers not being called).
  • Fixed bug #27598 (list() array key assignment causes HUGE memory leak).
  • Fixed bug #27268 (Bad references accentuated by clone).
  • Fixed bug #26456 (Wrong results from Reflection-API getDocComment() when called via STDIN).
  • Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may result in seg fault).
  • Fixed bug #25359 (array_multisort() doesn't work in a function if array is global or reference).
  • Fixed bug #22836 (returning reference to uninitialized variable).
fixed bug #21306 (ext/sesssion
  • Fixed bug #15854 (boolean ini options may be incorrectly displayed as Off when they are On).
  • Fixed bugs #14561, #20382, #26090, #26320, #28024, #30532, #32086, #32270, #32555, #32588, #33056 (strtotime() related bugs).
To Top