Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71452 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 71562 invoked from network); 23 Jan 2014 18:38:23 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Jan 2014 18:38:23 -0000 Authentication-Results: pb1.pair.com smtp.mail=hannes.magnusson@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=hannes.magnusson@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.160.50 as permitted sender) X-PHP-List-Original-Sender: hannes.magnusson@gmail.com X-Host-Fingerprint: 209.85.160.50 mail-pb0-f50.google.com Received: from [209.85.160.50] ([209.85.160.50:64019] helo=mail-pb0-f50.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id DD/06-39789-E9161E25 for ; Thu, 23 Jan 2014 13:38:23 -0500 Received: by mail-pb0-f50.google.com with SMTP id rq2so2199057pbb.9 for ; Thu, 23 Jan 2014 10:38:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=nejbqYncj3UZCOhUncWDhGh24VIM9mtJSqGp0iGjU5g=; b=DYODuSLs8ShFyYbidD6/70emjn6l67mQZa62XKMmg/9X1U66bmkBetnACacCUnAmaQ AnV8neZV7SXH4k/O6zgcEK/yq6nFANcPmJLuuWFTQe6pWDlhl78rYDcKeIPJgs18S8i8 +W40bDvCOqAe5I1YyVVrhqjHuRwz+0SLq/taGLX+dyanerIqcHPsyYvd63Nw6MiVaZs4 /1atAMl/MJWXUTXExuuunJK60SexkQpoi40cT6006XnTSyi8stw2IRoyromVAND1qGIR ua/SOzMp4gpyh4TY6u1czPEAoEE2k8tdG6/fw9JG1Y95C9AHBJVo1DalYLVaPCis3v6L GKUw== MIME-Version: 1.0 X-Received: by 10.66.163.164 with SMTP id yj4mr9632257pab.91.1390502281192; Thu, 23 Jan 2014 10:38:01 -0800 (PST) Received: by 10.68.60.3 with HTTP; Thu, 23 Jan 2014 10:38:01 -0800 (PST) In-Reply-To: <2490044a0e2cba88044cf5da9b1b6647.squirrel@webmail.klapt.com> References: <52E0F55F.4040802@lsces.co.uk> <2490044a0e2cba88044cf5da9b1b6647.squirrel@webmail.klapt.com> Date: Thu, 23 Jan 2014 10:38:01 -0800 Message-ID: To: Anatol Belski Cc: Nikita Popov , Lester Caine , PHP internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] [RFC] 64 bit platform improvements for string length and integer From: hannes.magnusson@gmail.com (Hannes Magnusson) On Thu, Jan 23, 2014 at 9:52 AM, Anatol Belski wrote: >> If this patch is included in PHP 5.6 I think it is very likely that many >> extensions will not be updated or take a long while in updating. It's one >> thing to add two or three new ifdefs to support a new PHP release and >> something entirely else to change virtually all types in your code and >> verify that it is still safe with the new sizes. > I think it depends on how active an extension is supported and developed. > For instance on PECL are still some extensions not even been ported to > PHP5. From the todays experience, a port to the current patch might take > from 3 hours to 3 days, depending on complexity. Say 3 days vs 5 months > until final, together with the porting docs and tools, most of the really > active and being in demand extensions will be so far or users will tear > the devs apart :) > If zpp/error_docref/*printf compatibility is not kept it will take a long time to update pecl extensions, and risk epic failure in the future when continuing the work on the extensions zpp (COMPAT ? "zyx" : "xyz", &foo, &bar, &baz) will in 1year turn into zpp (COMPAT ? "zyx|xz" : "xyz|z", &foo, &bar, &baz, &meh) and work just fine.. until you hit the perfect storm Its easy to migrate php-src exts since they don't have to care about compatibility with multiple php versions, but needing to support 5.3, 5.4, 5.5, 5.6, 5.7, 6.0 in a pecl extension will be nightmare Also, keep in mind most developers priority is not to work on supporting unreleased versions of PHP, but to keep maintaining the ext and adding features - so even though the guesstimate 5months "until final" is true, the extensions won't be updated until 5months _after_ 5.6.0 is out. -Hannes