Jump to content

Archived

This topic is now archived and is closed to further replies.

oxez

Weird error with division by zero

Recommended Posts

Ok, so bascically what I'm currently doing is an error handler. I've created a Debugger class, and used set_error_handler() to use that class.

So, to test this, I've tried a mysql_connect() with wrong infos, my Debugger caught that, and displayed it the way I wanted.

I tried this [b]explicetly[/b] (there are no variables involved in this math): echo 4/0;

On my windows server, my error handler catches it. On my linux server, it works. On my friend's server, it also works. But on my current webhost, it just doesn't work..

I get an error like: "[u]Warning: Division by zero in Unknown on line 0[/u]" . Notice the "Unknown on line 0" part. Weird? Yes it is...

So, I tried that 4/0 thing without my Debugger class on my own machine as well, and I get what I'm supposed to get: "[u]Warning: Division by zero in /media/stuff/www/zeal/index.php on line 14[/u]" . There are no "Unknown on line 0" there..

After all those tests, I tried to compare php.ini files on every server, and they all look the same. But, on my webhost, Zend Optimiser was installed. Maybe the optimiser could cause this weird thing, so I installed Zend Optimiser (tried versions 2 and 3) on my linux machine, and my code was still working. No success again.

So I'm asking for help here, I have no idea how to fix that, and google isn't being useful on that one..

[b]Note: [/b] All the servers I tried my code run are running PHP 5.1.4 (latest), on Apache. Please also note that I used the same code everywhere (in fact, I use SVN, so I just had to checkout my repository).

Thanks in advance!

Share this post


Link to post
Share on other sites
[quote author=BillyBoB link=topic=102925.msg409383#msg409383 date=1154678091]
probably cuz any thing divided my 0 = 0 :)
[/quote]

Even in the 'new' math, anything divided by zero is infinity !

@oxez - does comparison of the phpinfo() on the servers show any significant differences?

Share this post


Link to post
Share on other sites
[quote author=AndyB link=topic=102925.msg409424#msg409424 date=1154688093]
[quote author=BillyBoB link=topic=102925.msg409383#msg409383 date=1154678091]
probably cuz any thing divided my 0 = 0 :)
[/quote]

Even in the 'new' math, anything divided by zero is infinity !

@oxez - does comparison of the phpinfo() on the servers show any significant differences?
[/quote]

No it doesn't show any difference when I compare their options that might be related to error handling.

And to BillyBoB. I know that. But did you read my post? I'm talking about differences between servers, I know that anything / 0 = 0. This is not a math problem, but an error handling......

Share this post


Link to post
Share on other sites
Ok, so I got a "temporary" solution from another forum.

When I use: echo (string) 4 / 0; it now writes the Filename + Line of the division by zero, and my error handler now catches the warning. I just need to know how to avoid having to add (string) for that...

Share this post


Link to post
Share on other sites
[quote author=beamerrox link=topic=102925.msg410025#msg410025 date=1154760126]
don't divide by zero?
[/quote]

Wow? I just said I want my error handler to catch it, since I'll use it to debug my code.

I know that divide by zero is BAD, but my problem is [b]not there.[/b] I want to know WHY I have to type-cast (string) to get the wanted warning.

Share this post


Link to post
Share on other sites
just another PHP glitch, tell them about it on their support boards

Share this post


Link to post
Share on other sites
Okay. So I've tried about 5 or 6 php channels, each time explaining my problem, with no luck. I've tried other forums as well, still no luck.

I'm just bumping this, since I might get lucky with someone who could have missed my first post..

(PS: What did you mean by "their support board" ??)

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.