<?php
/*
* This should produce failures when using a version of libpcre older than 8.32
*/
// Ignore versions other than 5.3-5.5
if (!preg_match('/^5\.[345]\./', phpversion())) {
print "Don't care about this version\n";
exit(0);
}
preg_match('/((?:a?)*)*c/', 'aac', $matches);
if ($matches[1] === 'aa') {
print "FAIL\n";
} else {
print "PASS\n";
}
error_reporting(E_ALL);
ob_start();
phpinfo();
$phpinfo = ob_get_clean();
print preg_replace('/.*(PCRE Library Version => .*?$).*/sm', '$1', $phpinfo) . "\n";
exit(0);
$tests = array();
$test_string = mb_convert_encoding('நி', 'UTF-32', 'HTML-ENTITIES');
print "$test_string\n";
print strlen($test_string) . "\n";
print mb_strlen($test_string, 'UTF-32') . "\n";
$tests['string_length'] = (mb_strlen($test_string, 'UTF-32') === 1);
$tests['string_match'] = (preg_match('/^\X$/u', $test_string) === 1);
$fails = array();
foreach ($tests as $key => $value) {
if ($value === false) {
$fails[$key] = $value;
}
}
if (count($fails) > 0) {
echo "Failed: " . join(', ', array_keys($fails)) . "\n";
exit(1);
}
exit(0);
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.6.0 - 5.6.30, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.13, 7.3.0 - 7.3.1
- Don't care about this version
- Output for 5.3.19 - 5.3.29, 5.4.9 - 5.4.45, 5.5.0 - 5.5.38
- PASS
Warning: phpinfo() has been disabled for security reasons in /in/j4rQK on line 21
- Output for 5.3.0 - 5.3.18, 5.4.0 - 5.4.8
- FAIL
Warning: phpinfo() has been disabled for security reasons in /in/j4rQK on line 21
preferences:
186.21 ms | 402 KiB | 249 Q