/** * */ static function checkExtension($extension, $required = false) { if (extension_loaded($extension)) { return true; } logger::debug("Requested PHP extension not loaded: %s (from %s)", $extension, __callee()); $filename = (PHP_SHLIB_SUFFIX === 'dll' ? 'php_' : '') . $extension . '.' . PHP_SHLIB_SUFFIX; logger::debug("Attempting a manual load of %s from %s", $extension, $filename); if (ini_get('enable_dl') && !ini_get('safe_mode')) { if (function_exists('dl') && $required && !@dl($filename)) { logger::warnin("Dynamic loading of extensions disabled and extension %s flagged as required. Please load it manually or enable the dl() function.", $extension); exit(1); } } return extension_loaded($extension); }