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.
The behaviour of these functions is affected by settings in php.ini.
Name | Default | Changeable | Changelog |
---|---|---|---|
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. |
pcre.jit | "1" | PHP_INI_ALL | Available since PHP 7.0.0. |
Here's a short explanation of the configuration directives.
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).
pcre.jit
boolean
Whether PCRE's just-in-time compilation is going to be used.
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.