| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- namespace console\controllers;
- use Exception;
- use services\common\UpgradeService;
- use yii\console\Controller;
- class UpgradeController extends Controller
- {
- /**
- * @var $r int 0 或者 1,执行完成之后是否删除源zip包
- */
- public $r;
- /**
- * @var $f string 文件路径
- */
- public $f;
- /**
- * @param $actionID
- *
- * @return string[]
- */
- public function options($actionID)
- {
- return ['r', 'f'];
- }
- /**
- * 更新h5包
- *
- * @return void
- * @throws Exception
- */
- public function actionH5()
- {
- $f = $this->f ?: '/home/prod_xxx/h5.zip';
- if (!file_exists($f)) {
- echo '文件不存在' . PHP_EOL;
- exit;
- }
- $tmpDir = UpgradeService::getH5TmpDir();
- UpgradeService::unzip($f, $tmpDir);
- // 如果解压后是有多一层h5,则将里面的东西移到上一层
- $h5Dir = $tmpDir . 'h5';
- if (is_dir($h5Dir)) {
- exec("mv $h5Dir/* $tmpDir/");
- exec("rm -rf $h5Dir");
- }
- UpgradeService::handleH5();
- $workDir = UpgradeService::getWorkDir();
- exec(sprintf("chown nobody:nobody %sh5", $workDir));
- exec(sprintf("rm -rf %sh5_tmp", $workDir));
- $this->r && @unlink($f);
- }
- }
|