🔒 CheckPlatformWithLock
检查当前系统是否满足 composer.lock 文件中锁定的平台需求,返回结构化的平台信息列表。
何时使用
生产部署时通常以 composer.lock 为准,需确认运行环境满足锁定文件中记录的精确 PHP 版本与扩展要求。
签名
go
func (c *Composer) CheckPlatformWithLock() ([]PlatformInfo, error)参数
| 参数 | 类型 | 说明 |
|---|---|---|
| 无 | — | 该方法不接收参数,直接读取当前项目的 composer.lock |
返回值
[]PlatformInfo:从composer.lock解析出的平台需求信息切片error:执行composer check-platform --lock --format=json或解析失败时返回错误
示例
go
package main
import (
"fmt"
"log"
"github.com/scagogogo/composer-skills/pkg/composer"
)
func main() {
comp, err := composer.New(composer.DefaultOptions())
if err != nil {
log.Fatal(err)
}
platforms, err := comp.CheckPlatformWithLock()
if err != nil {
log.Fatalf("检查 lock 文件平台需求失败: %v", err)
}
for _, p := range platforms {
if !p.Available {
fmt.Printf("警告: %s %s 需求不满足\n", p.Name, p.Required)
}
}
}进阶
- 该方法内部执行
composer check-platform --lock --format=json,只读取Lock字段 - 对应的非 lock 版本见 CheckPlatform
- 如需一次性校验 lock 文件同步性,可配合 CheckStructured 使用