直接配置 github personal access token 即可解决“api rate limit exceeded”问题,否则 composer 默认未认证请求受限于每小时60次;需勾选 repo 和 read:packages 权限,用 composer config --global github-oauth.github.com 配置,并确保 auth.json 权限为600、避免手动编辑。

直接配 GitHub Personal Access Token 就行,不配就永远卡在 60 次/小时的匿名限额里。
为什么 composer install/update 会报 “API rate limit exceeded”
Composer 在解析依赖时(比如读 composer.json、查 dev-master 分支、拉取私有仓库 tag 列表),默认走 GitHub API 的未认证请求。GitHub 对这类请求硬性限流:每小时最多 60 次,且按请求头识别,跟 IP 无关——换机器、清缓存、重装 Composer 都没用。
典型触发场景包括:
- CI 环境反复重试
composer install - 项目依赖里含大量 fork 后未改
"source"的包 - 本地频繁执行
composer update或create-project - 公司/学校共享出口 IP,多人共用额度
生成 Token 必须勾选哪些权限
Token 权限宁少勿多,但不能漏关键项。访问 https://www.php.cn/link/9c450eb90c31bc12f1691f235da5a0cc 创建 classic token 时,至少勾选:
部署一个包含 4 个智能体(agent)的数字孪生平台。在以下情况下使用该技能: 1. 用户希望为物理资产监控与预测性维护等场景搭建数字孪生系统……
-
repo(必需:读 public/private 仓库元数据) -
read:packages(必需:读 GitHub Packages,部分组织私有包依赖此项)
不需要 write:packages、delete:packages、admin:org 等高危权限。fine-grained token 虽更安全,但目前 Composer 不支持,只能用 classic token。
配置命令和权限陷阱
用 composer config --global github-oauth.github.com <your_token></your_token> 写入,不是 =,是空格分隔。这条命令会把 token 存进 ~/.composer/auth.json,但以下两点极易踩坑:
-
auth.json文件权限必须是600(Linux/macOS 执行chmod 600 ~/.composer/auth.json),否则 Composer 会静默忽略它,退回到未认证模式 - Windows PowerShell 中粘贴含
$的 token 可能被截断,建议用 cmd 或单引号包裹:composer config --global github-oauth.github.com '$TOKEN' - 别手动编辑
auth.json—— JSON 格式错一个引号或逗号,token 就失效
验证是否真正生效
别只看 composer install 成功了就以为 OK。最可靠的验证方式是:
- 运行
composer config --global github-oauth.github.com,应输出 token 前几位(后段被 Composer 自动掩码) - 加
-v参数重跑安装:composer install -v,日志中出现Using GitHub token from configuration才算真正启用 - 终极验证:用 curl 模拟请求:
curl -H "Authorization: token <your_token>" https://api.github.com/rate_limit</your_token>,返回中rate.limit应为5000,不是60
CI 环境(如 GitHub Actions)必须用 ${{ secrets.GITHUB_TOKEN }} 注入,且不能加 --global(避免污染 runner 全局配置),改用项目级配置:composer config github-oauth.github.com "$GITHUB_TOKEN"。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










