ConFoo: Call for paper is now Open

Configurația la rulare

Comportamentul acestor funcții este afectat de parametrii stabiliți în php.ini.

PCRE Configuration Options
Denumirea Valoarea implicită Poate fi modificată Jurnalul modificărilor
pcre.backtrack_limit "1000000" PHP_INI_ALL Available since PHP 5.2.0.
pcre.recursion_limit "100000" PHP_INI_ALL Available since PHP 5.2.0.
Pentru mai multe detalii și definiții ale modurilor PHP_INI_* accesați Where a configuration setting may be set.

Iată o explicație pe scurt a directivelor de configurare.

pcre.backtrack_limit integer

PCRE's backtracking limit. Defaults to 100000 for PHP < 5.3.7.

pcre.recursion_limit integer

PCRE's recursion limit. Please note that if you set this value to a high number you may consume all the available process stack and eventually crash PHP (due to reaching the stack size limit imposed by the Operating System).

add a note add a note

User Contributed Notes 2 notes

up
4
php at richardneill dot org
3 years ago
pcre.backtrack_limit defaults to 100k.  This is rather conservative.
It is limited by RAM size, not the ulimit on stack-size.

On a (2009-era) netbook, I can set pcre.backtrack_limit to 100 million, and the regex will happily process a 90 million character string in about 3 seconds. YMMV.
up
1
chris at ocproducts dot com
4 years ago
pcre.backtrack_limit sets the maximum bind length PREG calls (e.g. preg_replace_callback) can make. However the actual maximum seems to be approximately half the value set here, possibly due to the character encoding that PCRE runs with internally.
To Top