Re: E_STRICT 'errors' - was Are exceptions allowed in php core?
| From: | Ferenc Kovacs | Date: | Tue, 04 Sep 2012 13:43:41 +0000 |
| Subject: | Re: E_STRICT 'errors' - was Are exceptions allowed in php core? | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-62794@lists.php.net to get a copy of this message | ||
On Tue, Sep 4, 2012 at 3:09 PM, Lester Caine <lester@lsces.co.uk> wrote:
> Pierre Joye wrote:
>
>> On Tue, Sep 4, 2012 at 2:51 PM, Lester Caine<lester@lsces.co.uk> wrote:
>>
>> >??? OH YES IT DOES !!!
>>> >MANY times I get a a few lines of text on a white screen ...
>>> >Switch off E_STRICT and everything works fine ... as it was on PHP5.2
>>>
>> If you have any doubts about how to configure your development or
>> production servers, how to use logs or how to effectively debug php
>> applications, please ask questions on php-general or php-setup mailing
>> lists.
>>
>> Thanks for your understanding,
>>
> Butt out Pierre ...
>
> I keep being told that there is nothing wrong with E_STRICT, and again
> someone has said that it does NOT cause crashes. I beg to differ here - IT
> DOES!
>
never heard of that one before.
for example, running
<?php
for($i=0;$i<100;$i++){
$foo="foo_".$i;
${$foo}->bar = 123;
}
echo "done";
gives me 100 E_STRICT, but still executes just fine and prints "done" at
the end.
the only explanation that I can think of is that you have a custom error
handler somewhere in your code, which somehow does something unexpected
(exits the script execution or does something like an infinite recursion
which segfaults/OOMs your application.
if you still think that it isn't the case, then please open an issue on
bugs.php.net with a reproduce script, as this would be clearly a bug.
> Now if you are saying that I need to document these crashes as they SHOULD
> not be happening then I'll roll things back and start doing that,
I would be generally surprised if you are serious about not knowing about
that triggering an E_STRICT shouldn't blow up your php.
> but *I* thought that these crashes were simply a known effect of using
> E_STRICT?
nope.
E_STRICT is currently the least serious/grave notice that the we have in
php(see the initial documentation at
http://php.net/manual/en/migrating5.errorrep.php),
and until 5.4, it wasn't
part of E_ALL at all (see http://www.php.net/manual/en/migration54.other.php
).
which made some people bashing the project, that we call something E_ALL
which doesn't include everything.
so it was changed with 5.4, so
> And so I followed the directions, and switched E_STRICT off. On production
> machines of PHP5.3 with E_STRICT enabled and on PHP5.4 one gets white
> screen crashes using older code ... as far as I was concerned that was a
> known fact. Switch it off and everything runs fine!
>
>
would be nice if you could come up with a small snippet/stand alone script
to reproduce the issue and attach it to a bugreport.
--
Ferenc Kovács
@Tyr43l - http://tyrael.hu