From eb288f7e51b283cd00c4a482f26ed883a91da128 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Mon, 20 Feb 2023 23:39:38 +0800 Subject: [PATCH] add --disable-plugins option for server command --- src/ZM/Command/Server/ServerStartCommand.php | 1 + src/ZM/Event/Listener/WorkerEventListener.php | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ZM/Command/Server/ServerStartCommand.php b/src/ZM/Command/Server/ServerStartCommand.php index 3f79b334..1ff05740 100644 --- a/src/ZM/Command/Server/ServerStartCommand.php +++ b/src/ZM/Command/Server/ServerStartCommand.php @@ -37,6 +37,7 @@ class ServerStartCommand extends ServerCommand new InputOption('no-state-check', null, null, '关闭启动前框架运行状态检查'), new InputOption('private-mode', null, null, '启动时隐藏MOTD和敏感信息'), new InputOption('print-process-pid', null, null, '打印所有进程的PID'), + new InputOption('disable-plugins', null, InputOption::VALUE_REQUIRED, '要禁用的插件,如需多个,采用逗号分割名称'), ]); $this->setHelp('直接运行可以启动'); } diff --git a/src/ZM/Event/Listener/WorkerEventListener.php b/src/ZM/Event/Listener/WorkerEventListener.php index 148177b6..6faa5941 100644 --- a/src/ZM/Event/Listener/WorkerEventListener.php +++ b/src/ZM/Event/Listener/WorkerEventListener.php @@ -227,9 +227,14 @@ class WorkerEventListener logger()->info('已加载 ' . $count . ' 个 Composer 插件'); } } + $disable_list = Framework::getInstance()->getArgv()['disable-plugins']; + if ($disable_list === null) { + $disable_list = ''; + } + $exp = explode(',', $disable_list); // 启用并初始化插件 - PluginManager::enablePlugins($parser); + PluginManager::enablePlugins($parser, $exp); } // 解析所有注册路径的文件,获取注解