阿里云官方php sdk的composer包名已更新为alibabacloud/client及各产品线独立包(如alibabacloud/ecs),旧包aliyun-openapi-php-sdk已停止维护;需同时安装client与对应服务包,凭证通过credentials数组显式传入,特殊region须手动指定endpoint。
阿里云 SDK 的 Composer 包名是什么
阿里云官方 PHP SDK 的 Composer 包名是 aliyun-openapi-php-sdk,但注意:这个包已**停止维护**,不推荐用于新项目。当前应使用各产品线独立发布的 SDK 包,例如 ECS、OSS、RAM 等均有单独的 aliyun-openapi-xxx 包,且全部托管在 alibabacloud 命名空间下。
最常用的是统一入口包:alibabacloud/client,它提供统一的客户端初始化、签名、重试、凭证管理能力;具体服务则通过按需安装子包接入,比如:
-
alibabacloud/ecs(云服务器) -
alibabacloud/oss(对象存储) -
alibabacloud/sts(临时令牌)
安装 client + 具体服务 SDK 的正确命令
不要只装 alibabacloud/client 就以为能调用所有服务——它只是运行时核心,不带任何 API 定义。必须同时安装对应服务的 SDK 包,否则会报错 Class not found: AlibabaCloud\Ecs\Ecs 或类似提示。
以 ECS 为例,执行:
composer require alibabacloud/client alibabacloud/ecs
若还需 OSS,则追加:
composer require alibabacloud/oss
注意:所有 alibabacloud/* 包都要求 PHP >= 7.2,且依赖 guzzlehttp/guzzle(Composer 会自动解决)。如果你的项目已锁死 Guzzle 版本(如 ^6.0),而新版阿里云 SDK 要求 ^7.0,就会冲突——此时需升级 Guzzle 或降级 SDK(不推荐)。
初始化客户端时 credentials 怎么传
阿里云 SDK 不再支持全局 AlibabaCloud::accessKeyClient() 静态方式(旧版 SDK 风格),必须显式构造 Client 实例,并通过 credentials 数组传入凭证。
常见写法: