diff --git a/internal/apps/php/init.go b/internal/apps/php/init.go index 989fe38e..47ce95b0 100644 --- a/internal/apps/php/init.go +++ b/internal/apps/php/init.go @@ -16,11 +16,12 @@ func init() { Slug: fmt.Sprintf("php%d", version), Route: func(r chi.Router) { service := NewService(version) - r.Get("/load", service.Load) + r.Post("/setCli", service.SetCli) r.Get("/config", service.GetConfig) r.Post("/config", service.UpdateConfig) r.Get("/fpmConfig", service.GetFPMConfig) r.Post("/fpmConfig", service.UpdateFPMConfig) + r.Get("/load", service.Load) r.Get("/errorLog", service.ErrorLog) r.Get("/slowLog", service.SlowLog) r.Post("/clearErrorLog", service.ClearErrorLog) diff --git a/internal/apps/php/service.go b/internal/apps/php/service.go index a988e506..4d5fb26f 100644 --- a/internal/apps/php/service.go +++ b/internal/apps/php/service.go @@ -33,6 +33,15 @@ func NewService(version uint) *Service { } } +func (s *Service) SetCli(w http.ResponseWriter, r *http.Request) { + if _, err := shell.Execf("ln -sf %s/server/php/%d/bin/php /usr/bin/php", app.Root, s.version); err != nil { + service.Error(w, http.StatusInternalServerError, "%v", err) + return + } + + service.Success(w, nil) +} + func (s *Service) GetConfig(w http.ResponseWriter, r *http.Request) { config, err := io.Read(fmt.Sprintf("%s/server/php/%d/etc/php.ini", app.Root, s.version)) if err != nil { diff --git a/web/src/api/apps/php/index.ts b/web/src/api/apps/php/index.ts index 6558bdea..5206de0c 100644 --- a/web/src/api/apps/php/index.ts +++ b/web/src/api/apps/php/index.ts @@ -3,8 +3,9 @@ import type { AxiosResponse } from 'axios' import { request } from '@/utils' export default { - // 负载状态 - load: (version: number): Promise> => request.get(`/apps/php${version}/load`), + // 设为 CLI 版本 + setCli: (version: number): Promise> => + request.post(`/apps/php${version}/setCli`), // 获取配置 config: (version: number): Promise> => request.get(`/apps/php${version}/config`), @@ -17,6 +18,8 @@ export default { // 保存FPM配置 saveFPMConfig: (version: number, config: string): Promise> => request.post(`/apps/php${version}/fpmConfig`, { config }), + // 负载状态 + load: (version: number): Promise> => request.get(`/apps/php${version}/load`), // 获取错误日志 errorLog: (version: number): Promise> => request.get(`/apps/php${version}/errorLog`), diff --git a/web/src/views/apps/php/PhpView.vue b/web/src/views/apps/php/PhpView.vue index 6c434cfe..93686c92 100644 --- a/web/src/views/apps/php/PhpView.vue +++ b/web/src/views/apps/php/PhpView.vue @@ -175,6 +175,11 @@ const getFPMConfig = async () => { }) } +const handleSetCli = async () => { + await php.setCli(version.value) + window.$message.success('设置成功') +} + const handleSaveConfig = async () => { await php.saveConfig(version.value, config.value) window.$message.success('保存成功') @@ -262,6 +267,9 @@ onMounted(() => {