ID: 12243
Updated by: cynic
Old Status: Bogus
Status: Feedback
Bug Type: Variables related
Operating System: FreeBSD 4.1.1-STABLE
PHP Version: 4.0.6
New Comment:

are you sure you don't initialize the variable with 5 Million on the Linux box?

Previous Comments:

[2001-07-19 00:03:32] [EMAIL PROTECTED]

If this is strictly hardware related, then how come when I run the exact same 2 lines 
on another box running linux, I get the correct 5 billion number displayed?  The linux 
box is using an AMD 450 Mhz K6, and the FreeBSD box is using a Pentium 3-600.  I am 
not able to back up to 4.03PL1 on the FreeBSD box, but I am quite sure that this 
problem did not occur back when it was loaded.


[2001-07-18 23:52:41] [EMAIL PROTECTED]

1) longlong != double
2) the scale is HW-dependant, i. e. you need a 64-bit HW to get native support for 
64-bit numbers. that's how it's always been in PHP. there was no change WIRT this.

5,000,000,000 is clearly more than your HW can take, so it's clipped to the closest 
possible value.


[2001-07-18 23:34:07] [EMAIL PROTECTED]

I've verified that this behavior is relatively new. It does not happen in 4.03PL1, but 
does in 4.05 and 4.06.


[2001-07-18 23:13:02] [EMAIL PROTECTED]

$testnumber = 5000000000;
echo $testnumber;

The result is 2147483647.  The variable is of type integer, even though it was 
initialized with a double value.  I first noticed this with PHP 4.05 and it still 
occurs with 4.05.  I do not believe it behaved this way back when I had 4.03PL1 

My configure line is:
 './configure' '--with-gd=no' '--with-mysql=/usr/local' 
'--with-config-file-path=/usr/home/priraise/phpini' '--enable-debug=no' 
'--enable-track-vars=yes' '--enable-ftp=yes' '--enable-force-cgi-redirect=yes' 
'--with-openssl' '--enable-trans-sid' '--enable-xml'


Edit this bug report at

PHP Development Mailing List <>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to