Bug #60696 [Opn->Fbk]: Large Integers problem
Edit report at https://bugs.php.net/bug.php?id=60696&edit=1
ID: 60696
Updated by: pajoye@php.net
Reported by: danhen at web dot de
Summary: Large Integers problem
-Status: Open
+Status: Feedback
Type: Bug
Package: Scripting Engine problem
Operating System: Windows
PHP Version: 5.4.0RC5
Block user comment: N
Private report: N
New Comment:
There is nothing we can do about 64bit integer now on Windows in 5.x. It requires
a lot of changes in the engine and in all extensions (basically using int64_t
instead of long, along with other API changes).
About the sqlsrv drive, I do not see how it could be remotely related. Are you
saying that this happen only when an error happens before the connect? I tried
locally and everything worked fine. Is this the exact code you are using to test?
Previous Comments:
------------------------------------------------------------------------
[2013-03-30 00:53:21] rasmus@php.net
We have very few Windows developers. Submit a patch please.
------------------------------------------------------------------------
[2013-03-29 17:40:20] aaron at steamcube dot com
Still broken with 5.4.13, 13 months later.
------------------------------------------------------------------------
[2012-04-26 05:04:44] danhen at web dot de
Have tried other PDO-Drivers. It only happens on pdo_sqlsrv. So what was changed in 5.4 integer
Handling?
The broken Code in 5.4 works fine in 5.3 and earlier Versions.
------------------------------------------------------------------------
[2012-04-03 01:39:51] yohgaki@php.net
Could you or anyone try see if this happens with other PDO drivers?
$iTest is overflowed (i.e. larger than 31^2), but this should not matter.
------------------------------------------------------------------------
[2012-01-10 05:20:22] danhen at web dot de
Description:
------------
If large integer values ââare defined in the source code, connecting to MSSQL-Server
fails.
Setup:
Windows Vista
PHP5.4 RC5
php_pdo_sqlsrv as additional extension
The code which defines the value doesn't need to be executed. It's enough defining such
values before connecting to mssql (inside a previous loadad class in my case). When 9999999990 is
changed to 999999999 everything is fine.
Test script:
---------------
<?php
$iTest = 1;
if($iTest < 9999999990) {
//do something;
}
$oTest = new PDO('sqlsrv:Server=server;Database=db', 'user', 'pass');
Expected result:
----------------
Blank page for apache, no output for CLI
Actual result:
--------------
PDOException with message:
SQLSTATE[IMSSP]: Failed to retrieve the server version. Unable to continue.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=60696&edit=1
Thread (9 messages)