zoukankan      html  css  js  c++  java
  • php_match/preg_match_all 默认有字符串长度限制

    php_match/preg_match_all 默认有字符串长度限制:52500(或许你的服务器环境是更长,或者更短),当字符串长度大于52500,只能匹配到52500数据,超出的部分会被系统自己截掉。

    项目中,用preg_match正则提取目标内容,死活有问题,代码测得死去活来。

    后来怀疑PHP 的preg_match有字符串长度限制,果然,发现“pcre.backtrack_limit ”的值默认只设了100000。

    解决办法:ini_set('pcre.backtrack_limit', 999999999);

    注:这个参数在php 5.2.0版本之后可用。

    另外说说关于:pcre.recursion_limit

    pcre.recursion_limit是PCRE的递归限制,这个项如果设很大的值,会消耗所有进程的可用堆栈,最后导致PHP崩溃。

    也可以通过修改配置来限制:ini_set('pcre.recursion_limit', 99999);

    实际项目应用中,最好也对内存进行限定设置:ini_set('memory_limit', '64M'); , 这样就比较稳妥妥嘎。

  • 相关阅读:
    ajax跨域
    抽奖概率计算
    应用版本
    empty
    java线程池原理
    java队列
    jquery选择器项目实例分析
    jquery操作dom
    40款非常棒的 jQuery 插件和制作教程(系列一)
    vijosP1046 观光旅游(最小环)
  • 原文地址:https://www.cnblogs.com/achengmu/p/6062617.html
Copyright © 2011-2022 走看看