Runtime Configuration
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. |
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.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.
pcre.backtrack_limit can be set to -1;
ini_set("pcre.backtrack_limit", "-1");
after i put the above code in my code, it works;
so i guess -1 means infinite(i am not very sure ,but it works);
so when you have not idea how much it should be set in your program, you can try this.