From:             
Operating system: FREEBSD & LINUX
PHP version:      5.2.13
Package:          Scripting Engine problem
Bug Type:         Bug
Bug description:Math calculation bug

Description:
------------


I have used the code from the test script on my development machine
(Windows Professional 7 32bit) with php 5.2.12 and is working correctly but
when I have deployed on my production machine that is FreeBSD 6.3 32bit
with the same php version 5.2.12 is giving wrong results (-2147483593). I
also run this on other production machine that is RedHat 5 32bit with php
5.2.6 and is also giving wrong results (-2147483593).



I can not test with php 5.2.13 on production machines (virtual hosting).

On windows is giving the correctly result (754303898) with PHP 5.2.12 and
PHP 5.3.1. I am running in 32bit platform on all machines.



-------------------------------------------------------------------



PHP_INT_SIZE: 4



System => FreeBSD somehost.com 6.3-RELEASE FreeBSD 6.3-RELEASE #6: Wed Oc

t 21 09:32:42 MDT 2009     r...@fc:/usr/src/sys/i386/compile/VKERN i386

Build Date => Mar  3 2010 12:51:00

Configure Command =>  './configure'  '--with-layout=GNU'
'--with-config-file-sca

n-dir=/usr/local/etc/php' '--disable-all' '--enable-libxml'
'--with-libxml-dir=/

usr/local' '--enable-reflection' '--program-prefix=' '--enable-fastcgi'
'--with-

apxs2=/usr/local/sbin/apxs' '--with-regex=php' '--with-zend-vm=CALL'
'--prefix=/

usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/info/'
'--build=i386-

portbld-freebsd6.3'

Server API => Command Line Interface

Virtual Directory Support => disabled

Configuration File (php.ini) Path => /usr/local/etc

Loaded Configuration File => /usr/local/etc/php.ini

Scan this dir for additional .ini files => /usr/local/etc/php

additional .ini files parsed => /usr/local/etc/php/extensions.ini



PHP API => 20041225

PHP Extension => 20060613

Zend Extension => 220060519

Debug Build => no





Test script:
---------------
function myhash($key) {

        $h = 5381;

        $l = strlen($key);

        for($i = 0; $i < $l; ++$i) {

            $h = (($h << 5) + $h) ^ ord($key[$i]);

        }

        return $h;

}

$h = myhash('CL6.1.7');

if ($h != 754303898)

        echo "bug\n";

echo $h . "\n";



Expected result:
----------------
754303898



Actual result:
--------------
bug

-2147483593

-- 
Edit bug report at http://bugs.php.net/bug.php?id=51397&edit=1
-- 
Try a snapshot (PHP 5.2):            
http://bugs.php.net/fix.php?id=51397&r=trysnapshot52
Try a snapshot (PHP 5.3):            
http://bugs.php.net/fix.php?id=51397&r=trysnapshot53
Try a snapshot (PHP 6.0):            
http://bugs.php.net/fix.php?id=51397&r=trysnapshot60
Fixed in SVN:                        
http://bugs.php.net/fix.php?id=51397&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=51397&r=needdocs
Fixed in release:                    
http://bugs.php.net/fix.php?id=51397&r=alreadyfixed
Need backtrace:                      
http://bugs.php.net/fix.php?id=51397&r=needtrace
Need Reproduce Script:               
http://bugs.php.net/fix.php?id=51397&r=needscript
Try newer version:                   
http://bugs.php.net/fix.php?id=51397&r=oldversion
Not developer issue:                 
http://bugs.php.net/fix.php?id=51397&r=support
Expected behavior:                   
http://bugs.php.net/fix.php?id=51397&r=notwrong
Not enough info:                     
http://bugs.php.net/fix.php?id=51397&r=notenoughinfo
Submitted twice:                     
http://bugs.php.net/fix.php?id=51397&r=submittedtwice
register_globals:                    
http://bugs.php.net/fix.php?id=51397&r=globals
PHP 4 support discontinued:          http://bugs.php.net/fix.php?id=51397&r=php4
Daylight Savings:                    http://bugs.php.net/fix.php?id=51397&r=dst
IIS Stability:                       
http://bugs.php.net/fix.php?id=51397&r=isapi
Install GNU Sed:                     
http://bugs.php.net/fix.php?id=51397&r=gnused
Floating point limitations:          
http://bugs.php.net/fix.php?id=51397&r=float
No Zend Extensions:                  
http://bugs.php.net/fix.php?id=51397&r=nozend
MySQL Configuration Error:           
http://bugs.php.net/fix.php?id=51397&r=mysqlcfg

Reply via email to