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.
The behaviour of these functions is affected by settings in php.ini.
|pcre.backtrack_limit||"100000"||PHP_INI_ALL||Available since PHP 5.2.0.|
|pcre.recursion_limit||"100000"||PHP_INI_ALL||Available since PHP 5.2.0.|
Here's a short explanation of the configuration directives.
- pcre.backtrack_limit integer
PCRE's backtracking limit.
- 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).