<?php
ini_set('pcre.backtrack_limit', 100);
for ($len = 1000; $len <= 1001; $len++) {
$x = str_repeat("x", $len);
$ret = preg_match("/x+x+y/", $x);
echo "len = " . $len . "\n";
echo "preg_match = " . $ret . "\n";
echo "PREG_BACKTRACK_LIMIT_ERROR = " . PREG_BACKTRACK_LIMIT_ERROR . "\n";
echo "preg_last_error = " . preg_last_error() . "\n";
echo "\n";
}
- Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.29, 8.2.0 - 8.2.21, 8.3.0 - 8.3.9
- len = 1000
preg_match = 0
PREG_BACKTRACK_LIMIT_ERROR = 2
preg_last_error = 0
len = 1001
preg_match = 0
PREG_BACKTRACK_LIMIT_ERROR = 2
preg_last_error = 0
- Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34
- len = 1000
preg_match = 0
PREG_BACKTRACK_LIMIT_ERROR = 2
preg_last_error = 0
len = 1001
preg_match =
PREG_BACKTRACK_LIMIT_ERROR = 2
preg_last_error = 2
- Output for 5.6.0 - 5.6.40
- len = 1000
preg_match =
PREG_BACKTRACK_LIMIT_ERROR = 2
preg_last_error = 2
len = 1001
preg_match =
PREG_BACKTRACK_LIMIT_ERROR = 2
preg_last_error = 2
preferences:
230.89 ms | 402 KiB | 307 Q