cache; $exist = $cache->get('install_addons_sql'); if(!$exist){ foreach ($sql_files as $sql){ Yii::$app->services->upgrade->importsql($sql); } $cache->set('install_addons_sql',1); } //echo implode($addons,','); echo implode(',',$addons); } /** * 检测插件状态 */ public function actionAddonsCache(){ $dir = \Yii::getAlias('@addons').DIRECTORY_SEPARATOR; $addons = []; if(false != ($handle = opendir($dir))){ $i = 0; while(false !== ($file = readdir($handle))) { if ($file === '.git' || $file === '.svn' || $file === '.' || $file === '..') { continue; } $fullPath = "$dir/$file"; if(is_dir($fullPath)){ $addons[] = $file; } } //关闭句柄 closedir($handle); } $no_install_addons = MallAddons::find()->where(['status' => 1])->andWhere( ['not in', 'addons_name', $addons])->asArray()->all(); print_r($no_install_addons); foreach($no_install_addons as $value){ $addons_name = $value['addons_name']; $mall_id = $value['mall_id']; $cache = Yii::$app->cache; $cache_key = RedisKeyEnum::suffix(RedisKeyEnum::ADDONS_INSTALL, $addons_name . $mall_id,true); $cache->delete($cache_key); // 删除redis中有效的商城 $redisKey = RedisKeyEnum::suffix(RedisKeyEnum::ADDONS_INSTALL_ARR, ':' . $mall_id,true); Yii::$app->redis->zrem($redisKey, $addons_name); MallAddons::deleteAll(['id' => $value['id']]); } } public function actionTest($addons){ error_reporting(E_ERROR); $addons = explode(',',$addons); $dir = Yii::getAlias('@addons').DIRECTORY_SEPARATOR; $now_addons = []; if(false != ($handle = opendir($dir))){ $i = 0; while(false !== ($file = readdir($handle))) { if ($file === '.git' || $file === '.svn' || $file === '.' || $file === '..') { continue; } $fullPath = "$dir/$file"; if(is_dir($fullPath)){ $now_addons[] = $file; } } //关闭句柄 closedir($handle); } $arr = array_diff($now_addons,$addons); echo PHP_EOL.implode(' ',$arr).PHP_EOL; } /** * 初始化商城数据 * @Author: lun * @DateTime: 2023/8/26 0026 17:26 * @Copyright: copyright (c) 2021 广东七件事集团 */ public function actionQimall() { try { // 获取初始化文件 $file = Yii::getAlias('@webpath') . '/qimall-init.sql'; if (file_exists($file) == false) throw new \Exception('初始化sql文件不存在'); $res = Yii::$app->services->upgrade->importsql($file); if ($res == true) { if (@unlink($file) == false) throw new \Exception('初始化文件删除失败'); } echo '操作成功'; return ExitCode::OK; } catch (\Exception $e) { Yii::error($e->getMessage()); return ExitCode::UNSPECIFIED_ERROR; } } }