位置: 编程技术 - 正文

关于PHP转换超过2038年日期出错的问题解决(php类型转换的两种方法)

编辑:rootadmin

推荐整理分享关于PHP转换超过2038年日期出错的问题解决(php类型转换的两种方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php类型转换的两种方法,php怎么转换,php怎么转换,php 类型转换,php转换数据类型,php 转go,php转换数据类型,php怎么转换,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

最近在写一个项目接口。测试中发现服务器上测试正常的功能,在本地一直有问题。一步步的排查,最终锁定问题是由于函数strtotime返回了一个false值,导致数据插入数据库失败。

相同代码运行结果不一样,原因那就是环境不一致导致。要么是PHP版本不同,要么是位数不同。

我电脑是位的。这里是PHP位数不一致,服务器使用位,而我本地是位。而strtotime被传入了一个字符串-1-1 ::,该参数大于了-1- ::所以在位PHP下直接返回false,而位PHP不受影响。

Y2K漏洞

导致上述问题的根本原因就是Y2K漏洞,也被称为Unix Millennium Bug。

位系统或PHP

此漏洞将会影响到所有 位系统下用UNIX 时间戳整数来记录时间的 PHP,及其它编程语言。一个整型的变量所能保存的最大时间为 年月 日 ::。超过这个时间后,整型数值将会溢出。

位系统或PHP

位系统下可以保存的日期最远日期是现在宇宙年龄的倍——亿年。所以不会受到该漏洞影响。

关于PHP转换超过2038年日期出错的问题解决(php类型转换的两种方法)

如何检测

如何知道你的系统是否收到该漏洞的影响。很简单,直接使用strtotime去转换一个大于年1月日::日期。或者使用date函数将一个大于时间戳转换为日期。

下面具体演示一下

方法一

上面结果如果返回-- ::那么就没有问题。如果返回-- ::那么就受收到影响。

方法二

上面结果如果返回那么就正常。如果返回false那么也会受到影响。

解决方案

方案一

更换系统和PHP均为位。这个代价比较大,但是可以永久解决问题。

方案二

PHP5.2版本之后提供了一个函数DateTime可以临时解决一下问题。

通过DateTime类来操作日期不会受到Y2K漏洞的影响,可以最远支持到年月日

总结

标签: php类型转换的两种方法

本文链接地址:https://www.jiuchutong.com/biancheng/289195.html 转载请保留说明!

上一篇:PHP用continue跳过本次循环中剩余代码的注意点(php exit绕过)

下一篇:php实现微信模拟登陆、获取用户列表及群发消息功能示例(php wechat)

  • 职工产假津贴怎么领取
  • 买交强险需要把车开过去吗
  • 公户的钱能买股票怎么处理
  • 部分红冲的发票怎么开
  • 母公司及子公司借款要利息吗
  • 本年利润借方专栏有什么
  • 上个月工资没有发
  • 外地施工如何找工人
  • 工程预付款需要什么资料
  • 跨境电子商务出来能干嘛
  • 并购投资的方式有哪些
  • 社会保险基金管理局是干什么的
  • 小企业发生销售折让的原因
  • 会计科目的使用说明应包括
  • 培训发票可以抵进项税吗
  • 什么时候需要计提税金及附加
  • 定额发票有效期是多长时间?你知道吗?
  • 物业预收停车费不退费
  • 出口退税增值税发票稽核信息
  • 销售旧房增值税销售额怎么算
  • 电脑管家游戏加速怎么卸载
  • 对公汇款银行退回
  • deepin声音
  • 公司员工的社保怎么查询
  • smart方法的含义和重要性
  • 供电企业收费项目管理的暂行规定
  • thinkphp5.1完全开发手册
  • 布鲁克斯岭
  • php的laravel框架答辩
  • 印花税具体包括哪几类
  • 减免增值税附加税也一起减免吗
  • vscode怎么写前端代码
  • php搜索代码
  • 个人注册投资有限公司
  • 深入理解linux内核
  • 平行结转的约当约当怎么计算
  • php设计思路
  • 定额备用金制度报销时用什么科目
  • mongodb怎么用
  • 织梦联动筛选教程
  • 当月发生的费用
  • 土地出让金相关政策
  • 进口增值税完税证明网哪里打印的
  • 获取sqlsession
  • 农产品进项税额抵扣范围
  • mysql开启远程访问权限
  • 监理公司成本核算方法
  • 商标注册费2000元记哪个科目
  • 租赁收入属于什么行业
  • 购买金税盘的分录
  • 股东投资设备入帐与购买设备入帐的区别
  • 租赁办公楼
  • 工会经费不够
  • 如何设置存货计价方法有哪些
  • sql存储过程什么意思
  • xp系统中文语言包
  • xp怎么把ie浏览器放到桌面
  • wrapper.exe是什么
  • ubuntu限制cpu个数
  • linux创建个人主页
  • 提示explorer.exe
  • macbook qq截图存在哪
  • windows7文件丢失
  • 分布式队列秒杀活动
  • 基于javascript数独游戏论文参考文献
  • perl cgi
  • window.open失效
  • jquery mobile ui
  • 深入理解中国式现代化论文
  • 网页上面的收藏夹显示
  • js调用图片代码
  • python条件怎么算合法
  • 定额发票查询app
  • 工程咨询服务税需要每月缴纳吗
  • 工商电话号码客服投诉热线
  • 消费税的征收范围是如何规定的
  • 国家税务局总局咨询平台
  • 购车发票包含
  • 报考地税局的要求是什么
  • 各种税务申报时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设