#49974 [NEW]: Windows x64 build lacks proper suport for 64-bit signed long
From: admin at saltwaterc dot net
Operating system: Windows x64, irrelevant version
PHP version: 5.2.11
PHP Bug Type: Scripting Engine problem
Bug description: Windows x64 build lacks proper suport for 64-bit signed long
Description:
------------
The Windows x64 build of PHP has an issue with the integer data type. It
may have issues with floating point numbers, but I didn't test it. The
integer bugs me since I work with large integers as column primary keys in
databases. I can't check for overflows with is_int() either (obvious).
Runtime:
- 3rd party PHP 5.2.5 x64 build
- 3rd party PHP 5.2.8 x64 build
- my own PHP 5.2.11 x64 builds
- official snapshot PHP 5.3.1RC1 (used below) - so the issue is in both of
the 5.2.x and 5.3.x branches
Compiler
- MSVC++ 8.0 Express
- MSVC++ 9.0 Express
Windows SDK:
- 6.1a
- 7.0
Since there were various versions built with various compilers and
Windwows SDKs, I tend to believe that this is a PHP build system related
issue, rather than an issue with that MSVC++ stuff.
PS: at the moment this x64 issue is a development problem as the code goes
into production on *nix machines with proper 64-bit support. Please don't
tell me the same story from report #49492. Yes, Apache doesn't provide
official x64 builds, but it is supported, thus 64-bit development is
possible. Try it yourself:
http://www.anindya.com/apache-http-server-2-2-14-x86-x64-msi-installers/
Reproduce code:
---------------
<?php // long.php
function assert_handler($file, $line, $code)
{
echo "Assertion Failed:
File '$file'
Line '$line'
Code '$code'";
}
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);
assert_options(ASSERT_CALLBACK, 'assert_handler');
assert(is_int(3147483647) === TRUE);
Expected result:
----------------
Nothing!
Actual result:
--------------
C:\Users\Saltwater\Desktop>php-5.3.1RC1-Win32-VC9-x64\php.exe long.php
Assertion Failed:
File 'C:\Users\Saltwater\Desktop\long.php'
Line '13'
Code ''
C:\Users\Saltwater\Desktop>
--
Edit bug report at http://bugs.php.net/?id=49974&edit=1
--
Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=49974&r=trysnapshot52
Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=49974&r=trysnapshot53
Try a snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=49974&r=trysnapshot60
Fixed in SVN: http://bugs.php.net/fix.php?id=49974&r=fixed
Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=49974&r=needdocs
Fixed in release: http://bugs.php.net/fix.php?id=49974&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=49974&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=49974&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=49974&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=49974&r=support
Expected behavior: http://bugs.php.net/fix.php?id=49974&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=49974&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=49974&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=49974&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=49974&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=49974&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=49974&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=49974&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=49974&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=49974&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=49974&r=mysqlcfg
Thread (5 messages)
- admin at saltwaterc dot net