Bug #69078 [Opn->Csd]: strtotime() doesn't work - Integer limited to 32bit on a 64bit windows
Edit report at https://bugs.php.net/bug.php?id=69078&edit=1
ID: 69078
Updated by: ab@php.net
Reported by: djbrainnrg at gmail dot com
Summary: strtotime() doesn't work - Integer limited to 32bit
on a 64bit windows
-Status: Open
+Status: Closed
Type: Bug
Package: Unknown/Other Function
Operating System: Windows 7 64bit
PHP Version: 5.6.6RC1
-Assigned To:
+Assigned To: ab
Block user comment: N
Private report: N
New Comment:
The fix for this bug has been committed.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
For Windows:
http://windows.php.net/snapshots/
Thank you for the report, and for helping us make PHP better.
Thanks for reporting. Note that with PHP5 even 64 bit Windows builds have PHP_INT_SIZE == 4, so this
won't fix in PHP5.
However it would be great if you could check some latest x64 master snaps like http://windows.php.net/downloads/snaps/master/r400e65e/
and report bugs. Those builds have full 64 bit support also in other areas, see http://git.php.net/?p=php-src.git;a=blob;f=UPGRADING;hb=HEAD
.
Cheers
Previous Comments:
------------------------------------------------------------------------
[2015-02-19 09:33:27] djbrainnrg at gmail dot com
fixed typo
------------------------------------------------------------------------
[2015-02-19 09:30:44] djbrainnrg at gmail dot com
Description:
------------
I'm aware of the year 2038 problem in PHP because of the 32bit limitation of integer values. I
know that i need a 64bit system to make it working.
Well, i've done so.
I've installed
* Apache 2.4.12 Win64
* PHP Version 5.6.6RC1 - Thread Safe 64bit for windows
* Running on Windows 7 64bit
And my problem is, strtotime still cannot handle dates higher than year 2038. Reason is because the
system simple work with 32bit integer limit. It doesn't matter that all is running in 64bit,
still not working.
Here is my phpinfo
http://i.stack.imgur.com/LN1wS.png
Test script:
---------------
That should return true, but does return false.
var_dump(intval("9223372036854775807")==9223372036854775807);
That should return an integer, but return false because the integer is greater than a 32bit integer.
var_dump(strtotime("2038-11-01"));
Expected result:
----------------
64bit integer values
Actual result:
--------------
32bit integer limit on a 64bit system
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=69078&edit=1
Thread (3 messages)