You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

64位Windows+PHP8环境下Y2038问题仍存在的技术问询

PHP时间戳在Windows下2038年后异常问题

系统配置:64位笔记本,搭载64位Win11家庭版(已安装x64 MSVC运行时)及最新64位PHP8.3.8。手动将系统时间设置为2040-01-01后,使用time()或DateTime::getTimestamp()无法正确获取当前时间,二者均返回相同的负数;但其他日期时间函数运行正常,例如strtotime("2040-01-01")可输出大于2^31的正确整数值。

无论通过64位VS Code还是命令行运行/调试PHP,结果一致。已确认Linux环境无此问题,但本人不熟悉Linux。

更新记录

  • 20240703:安装Ubuntu虚拟机测试,该问题不存在。
  • 20240711:当前使用的PHP安装包为php-8.3.8-nts-Win32-vs16-x64.exe,基于仅支持Win32程序的Visual Studio 2019编译;安装带C++支持的VS2022(支持多架构x86/x64/arm)后测试,可正确获取2038年之后的当前时间戳。

可能的解决方案

  • 等待官方发布使用VS17及以上版本编译的PHP新版本
  • 在VS2022(x64)环境或使用Mingw64自行编译PHP开源代码

内容的提问来源于stack exchange,提问作者huangyz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 14:39:51