Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78815 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 44494 invoked from network); 6 Nov 2014 13:32:37 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Nov 2014 13:32:37 -0000 Authentication-Results: pb1.pair.com smtp.mail=cmbecker69@gmx.de; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=cmbecker69@gmx.de; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmx.de designates 212.227.17.21 as permitted sender) X-PHP-List-Original-Sender: cmbecker69@gmx.de X-Host-Fingerprint: 212.227.17.21 mout.gmx.net Received: from [212.227.17.21] ([212.227.17.21:59981] helo=mout.gmx.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D5/45-28384-2787B545 for ; Thu, 06 Nov 2014 08:32:35 -0500 Received: from [192.168.0.101] ([91.67.244.80]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0Lu7ty-1YDMVP40rm-011UmN; Thu, 06 Nov 2014 14:32:30 +0100 Message-ID: <545B7871.2010502@gmx.de> Date: Thu, 06 Nov 2014 14:32:33 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Ferenc Kovacs , Christoph Becker CC: Lester Caine , PHP Internals References: <3E2593DC-5755-48A6-8802-6F2FB3625778@ajf.me> <04723EAD-4C8E-41C2-BE81-4989882A0C69@ajf.me> <545B26BB.9020406@lsces.co.uk> <545B589A.4010606@gmx.de> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:SRzHLCdtbOkCYGrsVPLMePJhDZTCF9gC/PwbCeQIFdwLLf3H7Pw 2/StSdQGAQyR5quxRMlUg33M8zP63yM5+UYWlc33zg7XbhrXJysPPvmxsclLQXu6PqWP5+b B1QheFuoAn6J1zjCrCdN+iNRahnTS75HuQvR2/pNW8OlTYwi5nZr7KF1hD4fiFaHxPsxoLH K0cJII7GfEuP8RaMzc1BA== X-UI-Out-Filterresults: notjunk:1; Subject: Re: [PHP-DEV] Thresholds of backwards compatibility breaks From: cmbecker69@gmx.de (Christoph Becker) Ferenc Kovacs wrote: > On Thu, Nov 6, 2014 at 12:16 PM, Christoph Becker wrote: > >> Lester Caine wrote: >> >>> Yes it is only a number, but a lot more problematic changes WERE pushed >>> through across those three versions which would have been much safer >>> handled by removing e_strict from PHP5.4 rather than trying to live with >>> both versions of PHP. >> >> I don't see a problem with regard to E_STRICT. If your code is not yet >> strict compliant, simply turn it off for error_reporting: >> >> error_reporting = E_ALL & ~E_STRICT >> >> -- >> Christoph M. Becker > > for the record, see https://bugs.php.net/bug.php?id=65322 and the issued > linked from that. > turned out that we had a bug, which prevented the autoload calls inside an > error handler call when the original error was a compile time one. > we have some compile time strict errors about abstract classes which could > have triggered hard-to-debug fatal errors for people(with custom error > handlers which depend on dynamic auto loading) when we made E_STRICT part > of E_ALL in 5.4. Thanks for pointing this out -- I have not been aware of the issue. Of course, having had this bug for such a long time is unfortunate, but it seems to me a viable userland workaround for not yet "strict" code to support affected PHP versions would be to pass an appropriate $error_types argument to the set_error_handler call, e.g. set_error_handler('my_error_handler', E_ALL & ~E_STRICT); -- Christoph M. Becker