PHP5.2下preg

   这篇文章主要介绍了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

  就是无限制

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

时间: 2024-09-20 19:43:34

PHP5.2下preg的相关文章

简述PHP4和PHP5版本下解析XML文档的操作方法

在PHP网站开发与建设过程中,时常会碰到需要对XML文档进行解析,PHP4版本自带了XML解析器(sax),PHP5版本增加了SimpleXML(基于dom)的XML扩展,对XML的解析更是非常方便,今天和大家分享下在不同环境下对XML文档进行解析的方法.XML文档 1234567891011121314151617181920 <?xml version="1.0" encoding="gbk"?> <LeapsoulXML>      

linux php5 apache-Linux下安装php5.5.8,用phpinfo();访问时一直显示5.1.6,请求解决

问题描述 Linux下安装php5.5.8,用phpinfo();访问时一直显示5.1.6,请求解决 我的Linux是运行在虚拟机下的,apache安装的是2.4.7的,访问它首页变成2.0. 主要是php为5.5.8,安装后显示为5.1.6,它访问php.ini时显示的路径在 /etc/php.ini 下,但我给它的路径是 /usr/local/lib/php.ini 下的. 也有用 --with-config-file-path 这个参数指定路径重装php,重启apache后还是显示5.1.

DeDeCms5.7在php5.3+下出错的解决方法

在php5.3的环境下安装了DeDeCms5.7,在登录和首页中会出现以下的错误提示: DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php.ini,more... 在跳转到官网的说明中有解决办法,就是配置PHP信息,然后重启. 官网解决方法: 部分使用PHP 5.3的主机可能会有下面的提示: (PHP 5.3

PHP5.2下preg_replace函数的问题_php技巧

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!用户的角度考虑,我们需要去协助插件作者解

php-5.2下php.ini 中文版配置说明第1/3页_php基础

;;;;;;;;;;;; ;; 语法 ;; ; 该文件的语法非常简单.空白字符和以分号开始的行被简单地忽略. ; 章节标题(例如: [php])也被简单地忽略,即使将来它们可能有某种意义. ; 设置指令的格式如下: ; directive = value ; 指令名(directive)是大小写敏感的!所以"foo=bar"不同于"FOO=bar". ; 值(value)可以是: ; 1. 用引号界定的字符串(如:"foo") ; 2. 一个数字

PHP5.2下chunk_split()函数整数溢出漏洞 分析_php文摘

受影响系统:PHP PHP < 5.2.3不受影响系统:PHP PHP 5.2.3描述:--------------------------------------------------------------------------------BUGTRAQ ID: 24261CVE(CAN) ID: CVE-2007-2872 PHP是一种流行的WEB服务器端编程语言. PHP中的chunk_split函数在处理畸形参数时存在整数溢出漏洞,本地攻击者可能利用此漏洞提升自己的权限. PHP中

php5.3下使用php管理crontab计划任务

1.使用php-crontab-manager管理计划任务 要求 PHP>=5.3 使用方法举例  代码如下 复制代码 use phpmanagercrontabCrontabManager; $crontab = new CrontabManager(); $crontab->enableOrUpdate('/tmp/my/crontab.txt'); $crontab->save(); 添加一个简单的计划任务:  代码如下 复制代码 use phpmanagercrontabCron

Windows 环境下的PHP5 与 Apache 服务器的配置

apache|php5|window|服务器 目前 PHP5 发布了第三个候选版本,估计正式版本不久就快释放了.安装过程应该不会有所变化,下面文章内容将讲述 Windows2000/XP/2003(不建议在 windows 98 下建立 PHP 环境) 下 PHP 环境的配置,服务器选择 Apache 2.0.49,数据库选择 MySQL 4.0.20 版本. 需要下载几个软件包: 1. PHP5 RC3 2. Apache 2.0.49 3. MySQL 4.0.20 下载软件包1. PHP5

redhat 9下配置APACHE2.0.50 +PHP5+MYSQL4.0.20+GD库

apache|mysql|php5 linux下配置APACHE2.0.50+PHP5.0.3+MYSQL4.0.20+GD库前些天,升级服务器的时候,因为GD库的原因.make不了PHP4.3.8 于是就一步步装了PHP5 其实,安装步骤和PHP4只差一点点而已如果你机器里原来装有了PHP或者APACHE的RPM或者低版本.请先删除首先,服务器GCC要有,不然什么都不能做.可以用gcc -v来查看是否安装了GCC,#gcc -vReading specs from /usr/lib/gcc-l