aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/lib/Minz/ExtensionManager.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Minz/ExtensionManager.php')
-rw-r--r--lib/Minz/ExtensionManager.php8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Minz/ExtensionManager.php b/lib/Minz/ExtensionManager.php
index 84a6fc09f..fea1f5879 100644
--- a/lib/Minz/ExtensionManager.php
+++ b/lib/Minz/ExtensionManager.php
@@ -268,7 +268,13 @@ final class Minz_ExtensionManager {
spl_autoload_register([$ext, 'autoload']);
}
$ext->enable();
- $ext->init();
+ try {
+ $ext->init();
+ } catch (Minz_Exception $e) { // @phpstan-ignore catch.neverThrown (Thrown by extensions)
+ Minz_Log::warning('Error while enabling extension ' . $ext->getName() . ': ' . $e->getMessage());
+ $ext->disable();
+ unset(self::$ext_list_enabled[$ext_name]);
+ }
}
}