PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
Hopefully someone can help me with this weird problem
I got a script that works just fine on my local machine but is going mad on my web server. After a lot of tracing i figured out that this line returns two different values on my machine and on the web server:
$a ^= (43814);
The result on my local machine is -443704711 and on the web server it is -2147439834 .
Now i am not a PHP guru at all and i even don't know what this line is supposed to do, its just pretty strange that the same thing works differnet on different servers
Now, as far as i know there are two differences between my local server (its an xampp package) and my webserver:
My server:
Windows machine
PHP 5.1.4 installed
Web server:
Linux
PHP 5.2.0
I hope someone knows about this problem and can suggest a workaround ?
Bit manipulation functions such as this (xor) work a bit differently between different builds. This is due to the platform, but can also be due to version variances. Normally such a low value doesn't have such great effect.
You may need to alter the code so it comes to the expected result reliably.
Could this problem have anything to do with 32-bit vs. 64-bit architecture of the systems the install is on and how PHP handles floating point numerics on these types of architectures?