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.
Configurações em Execução
O comportamento dessas funções podem ser modificado pelas configurações do php.ini.
| Nome | Padrão | Modificável | Changelog |
|---|---|---|---|
| pcre.backtrack_limit | 100000 | PHP_INI_ALL | Disponível desde o PHP 5.2.0. |
| pcre.recursion_limit | 100000 | PHP_INI_ALL | Disponível desde o PHP 5.2.0. |
Breve descrição das diretivas de configuração.
- pcre.backtrack_limit integer
-
Limite de backtracking da PCRE.
- pcre.recursion_limit integer
-
Limite de recursões da PCRE. Nota que se você definir este valor para um número bem alto poderá consumir toda a pilha de processo disponível e eventualmente travar o PHP (devido a alcançar o limite do tamanho da pilha imposto pelo Sistema Operacional).
php at richardneill dot org
14-Jan-2011 09:55
chris at ocproducts dot com
02-Jul-2010 07:42
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.
