box 官方 php sdk 不支持 composer 安装,需手动克隆 github 仓库并配置 psr-4 自动加载,同时必须安装 guzzlehttp/guzzle:^7.5 和 firebase/php-jwt:^6.10 等底层依赖以实现 jwt 认证与 rest 调用。

Box.com 官方 PHP SDK 并不通过 Composer 提供,也没有 box/box 或类似命名的官方 Composer 包。所谓“PHP-Box 库”并不存在于 Packagist 或 Box 官方文档中——你无法用 composer require box/box 安装一个能对接 Box.com 企业云存储的现成库。
Box 官方只提供官方 REST API 和 SDK(非 Composer 原生)
Box 的开发者资源明确说明:其 PHP SDK 是基于 Guzzle 构建的独立代码库,托管在 GitHub(box/box-openapi),但未发布到 Packagist,也不支持直接 composer require 安装。
常见错误现象:
- 执行
composer require box/box报错:Could not find package box/box at any version - 搜索
composer search box返回零个有效结果(只有第三方非官方、已废弃或仅含 CLI 工具的包) - 试图用
composer require box/box-openapi失败——该仓库没有composer.json,不是 Composer 可识别的包
实操建议:
- 克隆官方仓库:
git clone https://github.com/box/box-openapi.git,然后手动引入src/下的类 - 若项目已用 Composer,可借助
"autoload": {"psr-4": {"Box\": "lib/box-openapi/src/"}}将其纳入自动加载(需先复制或符号链接源码到项目目录) - 必须自行安装依赖:
composer require guzzlehttp/guzzle:^7.5(Box API v2 要求 Guzzle 7+,且需ext-json、ext-curl启用)
替代方案:用 Composer 加载社区维护的 Box SDK(谨慎评估)
目前唯一较活跃的第三方 Composer 包是 goldeye/box-php-sdk(非 Box 官方维护),但它仅适配旧版 Box API v1(已于 2022 年停用),且最后一次更新在 2020 年。使用它会导致:
- 调用
/folders等 endpoint 返回410 Gone - OAuth2 流程不兼容 Box 当前 JWT-based App Auth 方式
- 无单元测试、无 PHP 8.x 兼容性声明
实操建议:
- 不要在生产环境使用
goldeye/box-php-sdk;它无法对接当前 Box 企业版 API - 如仅需简单文件上传/下载,可直接用 Guzzle 发起 REST 请求(更轻量、可控)
- 示例最小可用调用:
$client = new GuzzleHttpClient();<br>$res = $client->request('GET', 'https://api.box.com/2.0/folders/0', [<br> 'headers' => ['Authorization' => 'Bearer YOUR_JWT_TOKEN'],<br>]);<br>echo $res->getBody()->getContents();
Box 企业级集成真正需要的 Composer 依赖
你实际要用 Composer 管理的,不是“Box SDK”,而是支撑 Box API 调用的底层组件:
-
guzzlehttp/guzzle:^7.5:必须,Box v2 API 强制要求 Guzzle 7+ -
firebase/php-jwt:^6.10:用于生成 JWT 认证 token(Box App Auth 必需) -
psr/http-client-implementation:可选,但推荐绑定具体实现(如 Guzzle)避免接口松散 -
monolog/monolog:调试时记录请求/响应头和 body(Box API 错误信息常藏在 header 中)
注意:firebase/php-jwt 的 JWT::encode() 需配合 Box 要求的 claims(iss、sub、aud、exp)构造 payload,漏掉任意一项都会返回 401 Unauthorized。
Box 的企业级接入本质是 JWT + REST,不是“装个包就能跑”。所有封装层都绕不开认证流程和 endpoint 版本控制——这点容易被忽略,但恰恰是多数人卡住的地方。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











