Skip to content

🐧 InstallPHP

通过系统包管理器安装 PHP。

何时使用

当检测到 PHP 缺失、且希望自动安装时使用。仅在 Linux 上有效,依赖发行版信息。🛠️

签名

go
func InstallPHP(distro *DistroInfo, useSudo bool) error

参数

参数类型说明
distro*DistroInfo发行版信息,由 DetectLinuxDistro 获取
useSudobool是否使用 sudo 执行安装命令

返回值

  • error:成功为 nil;发行版或包管理器未知返回错误;命令执行失败返回包装错误。⚠️

示例

go
package main

import (
	"fmt"
	"log"

	"github.com/scagogogo/composer-skills/pkg/installer"
)

func main() {
	distro, err := installer.DetectLinuxDistro()
	if err != nil {
		log.Fatalf("检测发行版失败: %v", err)
	}
	if err := installer.InstallPHP(distro, true); err != nil {
		log.Fatalf("安装 PHP 失败: %v", err)
	}
	fmt.Println("PHP 安装完成")
}

进阶

  • 不同发行版安装的包不同:apt/dnf/yum 装 php php-cli php-mbstring php-xml php-curl;apk 装 php81-* 系列。📦
  • Installer.InstallAutoInstallPHP=true)与 InstallWithProgress 在缺失 PHP 时调用。🔗
  • macOS/Windows 不支持,请在调用前用 GetPlatformName 判断。🚫

基于 MIT 许可证发布