PHP5.2下preg_replace函数的问题

 更新时间:2015年05月08日 14:55:26   投稿:mdxy-dxy  
这篇文章主要介绍了PHP5.2下preg_replace函数的问题,需要的朋友可以参考下

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
就是无限制

之所以写这么详细就是想一起分享下我解决问题的思路:)

相关文章

  • 使用dump函数,给php加断点测试

    使用dump函数,给php加断点测试

    本篇文章是对使用dump函数,给php加断点测试进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • codeigniter实现get分页的方法

    codeigniter实现get分页的方法

    这篇文章主要介绍了codeigniter实现get分页的方法,涉及使用codeigniter框架查询数据量及针对结果集进行get方法分页的相关技巧,非常简单实用,需要的朋友可以参考下
    2015-07-07
  • PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结

    PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结

    这篇文章主要介绍了PHP实现二维数组(或多维数组)转换成一维数组的常见方法,结合实例形式总结分析了PHP数组遍历、转换所涉及的array_reduce、array_walk_recursive及array_map函数常见使用技巧,需要的朋友可以参考下
    2019-12-12
  • PHP用mysql数据库存储session的代码

    PHP用mysql数据库存储session的代码

    大部分使用php的人一旦应用到session都会使用cookie。 cookie虽好可是它也会给我们带来一些隐患的。
    2010-03-03
  • php页面缓存ob系列函数介绍

    php页面缓存ob系列函数介绍

    这几天接触了phpcms的页面缓存,有些感触。其好处就不多说了,它一般是用在数据库查询较多的页面中,对于插入修改删除的页面就不大合适了
    2012-10-10
  • IIS7.X配置PHP运行环境小结

    IIS7.X配置PHP运行环境小结

    很久没有接触过php的东西了,今天有个程序需要一个php的运行环境。由于只需要简单的跑一下程序,因此觉得没有必要弄一个LAMP的环境(如果需要配LAMP环境的话可以参考我写的关于PHP的blog),不如直接用IIS来运行吧。
    2011-06-06
  • php的urlencode()URL编码函数浅析

    php的urlencode()URL编码函数浅析

    URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎中输入中文查询时候,生成经过Encode过的网页URL。
    2011-08-08
  • PHP 开发者该知道的 5 个 Composer 小技巧

    PHP 开发者该知道的 5 个 Composer 小技巧

    这篇文章主要介绍了PHP 开发者该知道的 5 个 Composer 小技巧,需要的朋友可以参考下
    2016-02-02
  • PHP XML数据解析代码

    PHP XML数据解析代码

    PHP解析XML 数据代码,用于PHP读取XML数据。
    2010-05-05
  • 解析zend Framework如何自动加载类

    解析zend Framework如何自动加载类

    本篇文章是对zend Framework如何自动加载类进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论