PHP是4的倍数但不是6的倍数,解决PHP文件字符串长度为4096倍数时的bug
今天在Drupal社区看到这样一个Bug。 当Windows平台在PHP = 5.3.10时,如果一个PHP的文件的字符串长度正好是4096的倍数,运行或者调用这个PHP文件,将会直接发生PHP崩溃。 PHP官方的bug页面在https://bugs.php.net/bug.php?id=60758 测试bug 于是我便在本机wi
今天在Drupal社区看到这样一个Bug。
当Windows平台在PHP <= 5.3.10时,如果一个PHP的文件的字符串长度正好是4096的倍数,运行或者调用这个PHP文件,将会直接发生PHP崩溃。
PHP官方的bug页面在https://bugs.php.net/bug.php?id=60758
测试bug
于是我便在本机windows上做了这个测试,果然PHP 5.3.9和PHP 5.3.10 存在这个bug,而PHP 5.3.8 却不存在这个问题,当然是神奇。
下面是代码:
为了解决问题,要么你升级PHP版本或者不让PHP文件的字符串长度为4096的倍数。
我假设你升级PHP是最佳的方案,如果不行的话,那么就得这样修改你的PHP文件。
PHP解决方法
在写入一个PHP文件时,事先判断PHP版本和文件字符串长度。
条件判断:version_compare(PHP_VERSION, ’5.3.10′, ‘<=’) ,这段代码的意思是PHP版本小于等于5.3.10。
!(strlen($data) % 4096),这段代码的意思字符串长度是4096的倍数
当条件满足时,用正则表达式在
(...)
Read the rest of 解决PHP文件字符串长度为4096倍数时的bug (67 words)
© lixiphp for LixiPHP - 致力于PHP高级编程!, 2013. | Permalink | No comment |
Add to del.icio.us
Post tags: Bug, PHP, PHP 5.3.10, PHP 5.3.9
Feed enhanced by Better Feed from Ozh
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
PHP是4的倍数但不是6的倍数,解决PHP文件字符串长度为4096倍数时的bug相关推荐
- php验证数字100倍数,js如何实现一个文本框只能输入数字 且是100的倍数
js如何实现一个文本框只能输入数字 且是100的倍数? php var a = 123,b = 200; /\d/.test(a) && a % 100 == 0;//false /\ ...
- 在MFC中使用Cstring
此文介绍了关于MFC使用CString的资料,可一参考一下. 转自于VC知识库:http://www.vckbase.com/index.php/wv/829 通过阅读本文你可以学习如何有效地使用 C ...
- CString 操作指南
原著:Joseph M. Newcomer 翻译:littleloach 原文出处:codeproject:CString Management 通过阅读本文你可以学习如何有效地使用 CString. ...
- CString 是一种很有用的数据类型
CString 是一种很有用的数据类型.它们很大程度上简化了MFC中的许多操作,使得M FC在做字符串操作的时候方便了很多. 不管怎样,使用 CString有很多特殊的技巧,特别是 对于纯C背景下走出 ...
- 最大子序列和问题c语言力扣,力扣
力扣刷题-第1题:两数之和2021-05-24 22:03:30 目录 一.写在最前面 二.题目信息 解题思路 一.写在最前面 致愿意重新开始努力的自己: 希望你能够持续的坚持,不半途而废. 二.题目 ...
- 河工计院ACM2022寒假培训题单以及超详细题解
目录 货仓选址 校门外的树 奖学金 蛇形矩阵 找硬币 回文平方 品种邻近 平方矩阵 II 十三号星期五 阶乘 干草堆 火星人 整数集合划分 最大的和 剪绳子 分巧克力 a^b 数独检查 ISBN号码 ...
- CString 彻底解析
通过阅读本文你可以学习如何有效地使用 CString. CString 是一种很有用的数据类型.它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多.不管怎样,使用CStr ...
- CString的彻底解析
原文出处:codeproject:CString Management 通过阅读本文你可以学习如何有效地使用 CString. CString 是一种很有用的数据类型.它们很大程度上简化了MFC中的许 ...
- CString彻底分析,很强悍的啊
转自:http://wmnmtm.blog.163.com/blog/static/3824571420113673647595/?suggestedreading&wumiiCString ...
最新文章
- JUnit基础及第一个单元测试实例(JUnit3.8)
- iOS 设备的网页调试工具-Firebug
- 多机器人路径规划的代码_知荐 | 地平线机器人算法工程师总结六大路径规划算法...
- 03Oracle Database 物理结构,逻辑结构
- 韩国各大银行纷纷开始引进区块链技术
- android捕获全局异常,并对异常做出处理
- Excel小账本的来历
- 记第一次在程序中埋彩蛋
- php函数改变图片大小,php实现修改图片大小的方法
- UG10.0 工程图 在注释的时候 引用/插入 组件尺寸
- python归一化nan加扰动_标准化和归一化对机器学习经典模型的影响
- Android中的PID,UID,TID
- 在服务器创建并进入虚拟环境
- 电路考点之电流和电压参考方向的设定
- 请求与通配符 mime 映射相匹配。请求映射到静态文件处理程序。如果有不同的前提条件,请求将映射到另一个处理程序。...
- JavaScript 的addEventListener() 事件监听详解!
- CSS特效(二):利用html和css制作毛玻璃特效和按钮动画效果
- python(x,y)安装和使用
- 事务统计系统软件 php,PHP数据库事务处理
- 将List集合按长度切分
热门文章
- CLOSE_WAIT、CLOSE_WAIT原因,危害,如何避免
- 基于springboot的高校羽毛球馆信息管理系统的设计与实现
- JavaEE_Spring_Spring中的事务声明, 事务隔离和事务传播等
- 17.商品业务-首页
- 应届大学生如何找工作,如何选择,如何投简历,如何面试
- C#界面里Control.Enabled 属性的使用
- 实操笔记02-random.normal函数
- 大脸猫讲逆向之ARM汇编中PC寄存器详解
- java中常见的几个内置类
- Defi+房地产=房地产未来