🐧 InstallPHP
通过系统包管理器安装 PHP。
何时使用
当检测到 PHP 缺失、且希望自动安装时使用。仅在 Linux 上有效,依赖发行版信息。🛠️
签名
go
func InstallPHP(distro *DistroInfo, useSudo bool) error参数
| 参数 | 类型 | 说明 |
|---|---|---|
distro | *DistroInfo | 发行版信息,由 DetectLinuxDistro 获取 |
useSudo | bool | 是否使用 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.Install(AutoInstallPHP=true)与InstallWithProgress在缺失 PHP 时调用。🔗 - macOS/Windows 不支持,请在调用前用
GetPlatformName判断。🚫