diff --git a/agent/app/service/runtime.go b/agent/app/service/runtime.go index 6f42fdf8f..f56f70d18 100644 --- a/agent/app/service/runtime.go +++ b/agent/app/service/runtime.go @@ -682,7 +682,7 @@ func (r *RuntimeService) GetPHPExtensions(runtimeID uint) (response.PHPExtension } } var phpExtensions []response.SupportExtension - if err = json.Unmarshal(nginx_conf.PHPExtensionsJson, &phpExtensions); err != nil { + if err = json.Unmarshal(nginx_conf.GetWebsiteFile("php_extensions.json"), &phpExtensions); err != nil { return res, err } for _, ext := range phpExtensions { diff --git a/agent/app/service/runtime_utils.go b/agent/app/service/runtime_utils.go index 9bc2979d8..e179c7e7f 100644 --- a/agent/app/service/runtime_utils.go +++ b/agent/app/service/runtime_utils.go @@ -657,7 +657,7 @@ func unInstallPHPExtension(runtime *model.Runtime, delExtensions []string) error dir := runtime.GetPath() fileOP := files.NewFileOp() var phpExtensions []response.SupportExtension - if err := json.Unmarshal(nginx_conf.PHPExtensionsJson, &phpExtensions); err != nil { + if err := json.Unmarshal(nginx_conf.GetWebsiteFile("php_extensions.json"), &phpExtensions); err != nil { return err } phpVersion := getRuntimeEnv(runtime.Env, "PHP_VERSION") diff --git a/agent/cmd/server/nginx_conf/nginx_conf.go b/agent/cmd/server/nginx_conf/nginx_conf.go index 555a499bb..b67fa61dc 100644 --- a/agent/cmd/server/nginx_conf/nginx_conf.go +++ b/agent/cmd/server/nginx_conf/nginx_conf.go @@ -3,6 +3,7 @@ package nginx_conf import ( "embed" _ "embed" + "io" ) //go:embed ssl.conf @@ -44,8 +45,18 @@ var PathAuth []byte //go:embed upstream.conf var Upstream []byte -//go:embed php_extensions.json -var PHPExtensionsJson []byte - //go:embed sse.conf var SSE []byte + +//go:embed *.json +var websitesFiles embed.FS + +func GetWebsiteFile(filename string) []byte { + file, err := websitesFiles.Open(filename) + if err != nil { + return nil + } + defer file.Close() + res, _ := io.ReadAll(file) + return res +} diff --git a/agent/cmd/server/nginx_conf/php_extensions.json b/agent/cmd/server/nginx_conf/php_extensions.json index 8a22ae6ec..9a7a10c52 100644 --- a/agent/cmd/server/nginx_conf/php_extensions.json +++ b/agent/cmd/server/nginx_conf/php_extensions.json @@ -369,5 +369,12 @@ "file": "bcmath.so", "versions": ["56","70", "71", "72", "73", "74", "80", "81", "82", "83","84"], "installed": false + }, + { + "name": "pcntl", + "check": "pcntl", + "file": "pcntl.so", + "versions": ["56","70", "71", "72", "73", "74", "80", "81", "82", "83","84"], + "installed": false } ]