#!/usr/bin/env php <?php set_error_handler( static function ($errno, $errstr, $errfile, $errline) { $msg = "Error {$errno}: {$errstr}\n"; if ($errfile) { $msg .= "File: {$errfile}\n"; if ($errline) { $msg .= "Line: {$errline}\n"; } } fwrite(STDERR, $msg); exit(1); }, -1 ); $requiredHandlers = array_map('strtolower', [ 'db4', ]); $supportedHandlers = array_map('strtolower', dba_handlers(false)); $missingHandlers = array_diff($requiredHandlers, $supportedHandlers); if ($missingHandlers !== []) { sort($missingHandlers); fwrite(STDERR, "DBA does NOT support these handlers:\n- " . implode("\n- ", $missingHandlers) . "\n"); exit(1); } echo "DBA supports at least these handlers:\n- ", implode("\n- ", $requiredHandlers), "\n";