PHP 5.6.0beta1 released

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration PCRE
Nom Défaut Modifiable Historique
pcre.backtrack_limit "1000000" PHP_INI_ALL Disponible depuis PHP 5.2.0.
pcre.recursion_limit "100000" PHP_INI_ALL Disponible depuis PHP 5.2.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

pcre.backtrack_limit entier

PCRE's backtracking limit. Par défaut à 100000 en PHP < 5.3.7.

pcre.recursion_limit entier

Limite de récurrence PCRE. Notez que si vous définissez cette valeur à un nombre très élevé, vous pourriez consommer tous les processus disponibles et, éventuellement, faire planter PHP (la taille limite de la pile imposée par le système sera atteinte).

add a note add a note

User Contributed Notes 2 notes

up
2
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
3 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