🐘 ExecPHP
使用指定的 PHP 二进制执行厂商二进制文件。等价于运行 composer exec --php=<php> <binary> -- <args...>。
何时使用
当项目存在多个 PHP 版本,需要明确指定用某个 PHP 解释器运行 vendor bin(如测试不同 PHP 版本兼容性)时使用。
签名
go
func (c *Composer) ExecPHP(php string, binary string, args ...string) (string, error)参数
| 参数 | 类型 | 说明 |
|---|---|---|
php | string | PHP 可执行文件路径,例如 /usr/bin/php8.2 |
binary | string | 厂商二进制文件名,例如 phpunit |
args | ...string | 透传给该二进制的参数列表 |
返回值
| 返回值 | 类型 | 说明 |
|---|---|---|
| 第一返回值 | string | 二进制执行的 stdout 输出 |
| 第二返回值 | error | 执行失败时返回 |
示例
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.Fatalf("初始化失败: %v", err)
}
output, err := comp.ExecPHP("/usr/bin/php8.2", "phpunit", "--version")
if err != nil {
log.Fatalf("执行失败: %v", err)
}
fmt.Println(output)
}进阶
- 不需要指定 PHP 时用更简单的 Exec。
- 列出可用二进制用 ExecWithList。
- 在指定工作目录执行可参考
ExecWithWorkingDir,结合 Exec 使用。