直接配 github personal access token 即可解决,否则 composer 默认未认证请求受限于每小时60次;需用 classic 类型 token、勾选 repo 和 read:packages 权限,通过 composer config --global github-oauth.github.com 配置,并确保 auth.json 权限为600。

直接配 GitHub Personal Access Token 就行,不配就永远卡在每小时 60 次的匿名限额里。这不是网络问题、不是镜像源问题、也不是 Composer 版本问题——是 GitHub 强制要求身份标识,哪怕你只 require 一个公开包,也得带凭证。
怎么生成合法的 GitHub Token
Token 必须是 classic 类型(fine-grained 不支持),且至少勾选两个权限:
-
repo:必需,读取公开/私有仓库元数据(public_repo对纯公开项目够用,但含 fork 或私有依赖时建议全repo) -
read:packages:如果你用 GitHub Packages 托管私有 PHP 包,必须勾选
不要勾选 delete_repo、admin:org 等高危项;Token 创建后只显示一次,关页即不可查,务必立刻复制保存。
怎么让 Composer 正确读到 Token
必须用命令写入,不能手动编辑 auth.json,也不能写错 host 名:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 执行
composer config --global github-oauth.github.com <your_token_here></your_token_here>—— 注意是空格分隔,不是=,且 host 必须是github.com,不是api.github.com或其他子域 - Token 会写入
~/.composer/auth.json(Linux/macOS)或%APPDATA%\Composer\auth.json(Windows) - 立即执行
chmod 600 ~/.composer/auth.json(Windows 用户跳过此步,但需确认文件未被系统设为只读)
手动改 auth.json 极易因 JSON 格式错误(多逗号、少引号)导致静默失效;PowerShell 中粘贴含 $ 的 token 可能被截断,建议用 cmd 或加单引号包裹:composer config --global github-oauth.github.com '$TOKEN'。
为什么配了还是报 403 或 429
常见失效原因几乎都跟环境有关,而非 token 本身:
- 执行
composer config --global的用户 ≠ 运行composer install的用户(比如 CI 里用root配置,但构建跑在www-data下) - 项目根目录下存在
auth.json,它会覆盖全局配置;可用composer config --list查看实际生效位置 - 公司代理或防火墙拦截了
Authorization请求头,token 根本没发出去;可单独验证:curl -H "Authorization: token xxx" https://api.github.com/rate_limit - PHP 禁用了
curl或 SSL 验证失败(旧版 CentOS 常见),导致认证头无法发出
验证是否真正生效,别只看安装成功:运行 composer diagnose,看到 GitHub API: OK 才算通;或加 -v 参数重跑:composer install -v,日志中出现 Using GitHub token from configuration 才是真生效。
最常被忽略的是权限和用户一致性——auth.json 权限不是 600,或者 composer install 是用另一个用户身份跑的,Token 就等于没配。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










