Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:26826 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 81884 invoked by uid 1010); 7 Dec 2006 10:26:55 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 81869 invoked from network); 7 Dec 2006 10:26:55 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 7 Dec 2006 10:26:55 -0000 X-Host-Fingerprint: 62.157.136.253 vpn.digital-spirit.de Received: from [62.157.136.253] ([62.157.136.253:4323] helo=localhost.localdomain) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1B/40-13900-C4CE7754 for ; Thu, 07 Dec 2006 05:26:55 -0500 Message-ID: <1B.40.13900.C4CE7754@pb1.pair.com> To: internals@lists.php.net Date: Thu, 07 Dec 2006 11:25:25 +0100 User-Agent: Thunderbird 1.5.0.8 (Windows/20061025) MIME-Version: 1.0 References: <0c60b01d19ec7e242ade31e29120ee27@gravitonic.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Posted-By: 62.157.136.253 Subject: Re: [PHP-DEV] PHP 5.2: Serialization patch From: thomas-lists@mysnip.de (Thomas Seifert) From a users point of view: you must be kidding, eh? You want to break all the strings which were stored serialized in the 5.x-series? I can understand that it will break in php6 but not in some minor release. It will cause havoc with a lot of apps which can't read their cached- / meta-data anymore. Also the performance drawback will get you a lot of angry users. Wasn't that just some versions before when the serialization has gotten a lot slower and created lots of problems? thomas Andrei Zmievski schrieb: > I don't see a way we can make it work for all the cases. I guess we'll > have to leave this task to PHP_Compat. > > -Andrei > > On Dec 1, 2006, at 3:03 PM, Ilia Alshanetsky wrote: > >> As it stands the current code breaks BC on decoding when the >> serialized string contains \ characters. >> >> For example: >> >> Input PHP 5.2 PHP 5.2 w/patch >> ------------------------------------------------------------------------------------------- >> >> s:7:"foo\10b"; foo\10b error (NULL >> returned) >> s:7:"foo\bar"; foo\bar error (NULL >> returned) >> s:5:"\\\\\"; \\\\\ error (NULL >> returned) >> >> Basically any operation involving strings with \ in them, stop working >> once the patch is applied. >> >> There is also the performance drawback to consider, which based on a >> rudimentary test involving $_SERVER serialization, shows that the new >> code is roughly 1/2 slower. >> >> 5.2: 0.388 >> 5.2 w/patch: 0.652 >> >> Ilia