Edit report at https://bugs.php.net/bug.php?id=60696&edit=1
ID: 60696 Updated by: paj...@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] ras...@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] yohg...@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