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.
Çalışma Anı Yapılandırması
Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.
| İsim | Öntanımlı | Değişiklik Yeri | Sürüm Bilgisi |
|---|---|---|---|
| pcre.backtrack_limit | "100000" | PHP_INI_ALL | PHP 5.2.0'dan beri kullanılabilmektedir. |
| pcre.recursion_limit | "100000" | PHP_INI_ALL | PHP 5.2.0'dan beri kullanılabilmektedir. |
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
-
pcre.backtrack_limitinteger -
PCRE'nin geriye doğru izleme sınırı.
-
pcre.recursion_limitinteger -
PCRE'nin içi içelik sınırı. Bu değeri yüksekçe bir sayıya ayarlarsanız kullanılabilecek tüm yığıtın harcanıp PHP'nin çökmesine sebep olabilirsiniz (Yığıt boyutunu işletim sistemi belirler ve yığıt taşınca PHP çöker).
php at richardneill dot org ¶
2 years ago
chris at ocproducts dot com ¶
2 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.
