feat: Add quick installation for PHP extension pcntl (#9119)

This commit is contained in:
CityFun 2025-06-16 15:38:51 +08:00 committed by GitHub
parent fabf33a83b
commit 8f7b026f0e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 23 additions and 5 deletions

View file

@ -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 {

View file

@ -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")

View file

@ -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
}

View file

@ -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
}
]