From 3be0dab8a30882c184256c19e7c6d1173f1ed23b Mon Sep 17 00:00:00 2001 From: CityFun <31820853+zhengkunwang223@users.noreply.github.com> Date: Wed, 5 Nov 2025 15:34:02 +0800 Subject: [PATCH] fix: Fix the issue where PHP extensions fail to install. (#10869) --- agent/app/service/runtime.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/agent/app/service/runtime.go b/agent/app/service/runtime.go index 1b9a36e94..4ed2a0754 100644 --- a/agent/app/service/runtime.go +++ b/agent/app/service/runtime.go @@ -31,7 +31,6 @@ import ( "github.com/1Panel-dev/1Panel/agent/constant" "github.com/1Panel-dev/1Panel/agent/global" "github.com/1Panel-dev/1Panel/agent/utils/cmd" - cmd2 "github.com/1Panel-dev/1Panel/agent/utils/cmd" "github.com/1Panel-dev/1Panel/agent/utils/compose" "github.com/1Panel-dev/1Panel/agent/utils/docker" "github.com/1Panel-dev/1Panel/agent/utils/env" @@ -718,9 +717,9 @@ func (r *RuntimeService) InstallPHPExtension(req request.PHPExtensionInstallReq) if err != nil { return err } - cmdMgr := cmd2.NewCommandMgr(cmd.WithTask(*installTask), cmd.WithTimeout(15*time.Minute)) installTask.AddSubTask("", func(t *task.Task) error { - err = cmdMgr.RunBashCf("docker exec -i %s install-ext %s", runtime.ContainerName, req.Name) + err = cmd.NewCommandMgr(cmd.WithTask(*installTask), cmd.WithTimeout(20*time.Minute)). + RunBashCf("docker exec -i %s install-ext %s", runtime.ContainerName, req.Name) if err != nil { return err } @@ -733,22 +732,23 @@ func (r *RuntimeService) InstallPHPExtension(req request.PHPExtensionInstallReq) if err != nil { return err } - err = cmdMgr.RunBashCf("docker commit %s %s", runtime.ContainerName, runtime.Image) + err = cmd.NewCommandMgr(cmd.WithTask(*installTask), cmd.WithTimeout(15*time.Minute)). + RunBashCf("docker commit %s %s", runtime.ContainerName, runtime.Image) if err != nil { return err } + handlePHPDir(*runtime) + if err = restartRuntime(runtime); err != nil { + return err + } newImageID, err := client.GetImageIDByName(runtime.Image) if err == nil && newImageID != oldImageID { if err := client.DeleteImage(oldImageID); err != nil { - t.Log(fmt.Sprintf("delete old image error %v", err)) + t.Log(fmt.Sprintf("delete old image %s failed %v", oldImageID, err)) } else { t.Log("delete old image success") } } - handlePHPDir(*runtime) - if err = restartRuntime(runtime); err != nil { - return err - } return nil }, nil) go func() {