PHP5.2下preg_replace函数的问题
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-25 15:38:07 浏览: 评论:0
preg_replace 使用的超过了php5.2默认允许的字节,也就是pcre.backtrack_limit和pcre.recursion_limit的大小的问题。
Discuz!6.0.0正式版程序发布以来,大家都热火朝天的升级中,但是部分插件在6.0下出现了问题
比如http://www.discuz.net/viewthread.php?tid=559133这个银行插件
在php为5.2.0及以上的环境下安装以后会出现白屏的问题
从Discuz!用户的角度考虑,我们需要去协助插件作者解决这个问题
下面说下我的解决过程,希望能给大家一些建议吧
第一:此插件在5.5的情况下可以正常运行,但是6.0下就白屏了
Discuz!6.0为了增加模板缓存文件的可读性,增加了缓存文件的缩进,而确实修改过部分templates.func.php的模板处理部分,莫非是这个原因?开始我初步确定是这里的问题,因为用5.5的部分代码替换修改过的代码,就表现正常,但是很郁闷的没有找到原因
第二步:怀疑是bank.htm这个模板书写格式的问题,于是我很郁闷的开始分析模板,说实话,模板大了分析起来真的很头疼。结果显然又没有找到原因。比较郁闷的说
第二步:然后发现将此模板拆分以后,就正常执行了,这时候我初步怀疑是不是正则匹配的bug在大数据量的时候出现了错误,于是我就上bugs.php.net开始搜索了http://bugs.php.net/search.php?c … ace&x=3&y=5在这里找啊找啊找,于是终于找到了这里http://bugs.php.net/bug.php?id=39405,突然间发现居然是5.2配置的问题,在调整大pcre.backtrack_limit和pcre.recursion_limit之后问题解决
据说将pcre.backtrack_limit=-1 in php.ini
就是无限制
Tags: PHP5 2 preg_replace
相关文章
- ·php中fgetcsv函数在php5.2.8 中的数据不完整(2013-12-07)
- ·PHP5.5 安装后出现不能调用json_encode 解决办法(2013-12-08)
- ·PHP5匿名函数的实例(2016-01-28)
- ·PHP5.5和之前的版本empty函数的不同之处(2021-02-19)
- ·PHP5.3与5.5废弃与过期函数整理汇总(2021-03-19)
- ·自己写的兼容低于PHP 5.5版本的array_column()函数(2021-04-18)
- ·php 自定义UTF8和cp1251函数(2013-11-28)
- ·php支持gb2312,uft-8中英文字符截取函数(2013-11-29)
- ·php 中IPV6 ip2long的问题解决办法(2013-12-05)
- ·php 检测是否为utf-8还是gb2312编码(2014-07-10)
- ·windows中PHP 5.2.17安装eAccelerator方法(2014-08-25)
- ·php的crc32函数使用时需要注意的问题(不然就是坑)(2021-05-22)
- ·PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)(2021-07-05)
- ·PHP基于GD2函数库实现验证码功能示例(2021-11-05)
- ·PHP实现的62进制转10进制,10进制转62进制函数示例(2021-11-25)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)