Hi!
PHP7 supports PCRE's JIT compilation of patterns by default, which
mostly works fine. However, there are issues when the matching exceeds
the JIT stack limit, see bug #70110[1].
I'm not sure how to solve this best. Basically, I see two possible
solutions: either we fall back to non JIT matching, if pcre_exec() fails
with PCRE_ERROR_JIT_STACKLIMIT, or we use a custom JIT stack and make
its size a configurable ini setting (similar to pcre.backtrack_limit),
and raise E_WARNING if the matching fails due to limited stack size.
Thoughts?
[1] <https://bugs.php.net/bug.php?id=70110>
--
Christoph M. Becker