mirror of
https://github.com/php/php-src.git
synced 2024-11-23 01:44:06 +08:00
Add a check for required extensions in benchmark.php (#14811)
This should prevent people from being disappointed by an unexpected error message when running the benchmark, namely: ``` jvoisin@chernabog 21:54 (master) ~/dev/php-src php ./benchmark/benchmark.php false sapi/cgi/php-cgi > 'valgrind' '--tool=callgrind' '--dump-instr=yes' '--callgrind-out-file=/home/jvoisin/dev/php-src/benchmark/profiles/callgrind.out.bench' '--' 'sapi/cgi/php-cgi' '-T1' '-d max_execution_time=0' '-d opcache.enable=1' '-d opcache.jit=disable' '-d opcache.jit_buffer_size=128M' '-d opcache.validate_timestamps=0' '/home/jvoisin/dev/php-src/Zend/bench.php' > 'valgrind' '--tool=callgrind' '--dump-instr=yes' '--callgrind-out-file=/home/jvoisin/dev/php-src/benchmark/profiles/callgrind.out.bench.jit' '--' 'sapi/cgi/php-cgi' '-T1' '-d max_execution_time=0' '-d opcache.enable=1' '-d opcache.jit=tracing' '-d opcache.jit_buffer_size=128M' '-d opcache.validate_timestamps=0' '/home/jvoisin/dev/php-src/Zend/bench.php' > '/usr/bin/php' '/home/jvoisin/dev/php-src/benchmark/repos/symfony-demo-2.2.3/bin/console' 'cache:clear' > '/usr/bin/php' '/home/jvoisin/dev/php-src/benchmark/repos/symfony-demo-2.2.3/bin/console' 'cache:warmup' > 'valgrind' '--tool=callgrind' '--dump-instr=yes' '--callgrind-out-file=/home/jvoisin/dev/php-src/benchmark/profiles/callgrind.out.symfony-demo' '--' 'sapi/cgi/php-cgi' '-T50,50' '-d max_execution_time=0' '-d opcache.enable=1' '-d opcache.jit=disable' '-d opcache.jit_buffer_size=128M' '-d opcache.validate_timestamps=0' '/home/jvoisin/dev/php-src/benchmark/repos/symfony-demo-2.2.3/public/index.php' PHP Fatal error: Uncaught Error: Call to undefined function gmp_strval() in /home/jvoisin/dev/php-src/benchmark/benchmark.php:128 Stack trace: thrown in /home/jvoisin/dev/php-src/benchmark/benchmark.php on line 128 [255] jvoisin@chernabog 12:05 (master) ~/dev/php-src ```
This commit is contained in:
parent
f0dc7ad5ce
commit
ae2abcf3e8
@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
require_once __DIR__ . '/shared.php';
|
require_once __DIR__ . '/shared.php';
|
||||||
|
|
||||||
|
foreach (array("mbstring", "sockets", "mysqli", "openssl", "gmp") as $ext) {
|
||||||
|
if (!extension_loaded($ext)) {
|
||||||
|
throw new LogicException("Extension $ext is required.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$storeResult = ($argv[1] ?? 'false') === 'true';
|
$storeResult = ($argv[1] ?? 'false') === 'true';
|
||||||
$phpCgi = $argv[2] ?? dirname(PHP_BINARY) . '/php-cgi';
|
$phpCgi = $argv[2] ?? dirname(PHP_BINARY) . '/php-cgi';
|
||||||
if (!file_exists($phpCgi)) {
|
if (!file_exists($phpCgi)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user