不能直接下载源码ZIP,因Hyperf 3.1.66高度依赖Composer自动加载与DI容器初始化,ZIP包缺失vendor/、runtime/container及自动合并配置,导致Class not found或Container未初始化;必须用composer create-project hyperf/hyperf-skeleton:3.1.66 myapp。

Hyperf 3.1.66 的源码不建议直接“下载 ZIP”使用,官方已明确要求通过 composer create-project 初始化项目。
直接下载源码包会导致依赖未解析、自动加载失效、配置未初始化,启动时大概率报错:Class not found 或 Container is not initialized。
为什么不能直接下载源码 ZIP?
Hyperf 是一个高度依赖 Composer 自动加载与 DI 容器初始化的框架。它的核心机制(如注解扫描、AOP 织入、配置绑定)全部在 bin/hyperf.php 启动流程中动态构建。ZIP 包里没有 vendor/、没有生成的 runtime/container、也没有 config/autoload/ 下的自动合并配置 —— 这些都不是静态文件,而是运行时生成的。
正确获取 Hyperf 3.1.66 的方式
执行以下命令,它会拉取稳定 tag,并完成完整初始化:
composer create-project hyperf/hyperf-skeleton:3.1.66 myapp
-
hyperf-skeleton是官方推荐的最小可用骨架,不是主仓库hyperf/hyperf(后者不含默认配置和启动脚本) - 务必指定
:3.1.66,否则默认拉取最新版(可能已是 4.x),与文档/组件兼容性不一致 - 执行后检查
composer.lock中hyperf/framework和hyperf/di的 version 是否为3.1.66
想看源码?去 GitHub/GitCode 看 tag,别本地跑
如果只是阅读或调试源码,直接访问:
https://github.com/hyperf/hyperf/tree/3.1.66 或 https://gitcode.com/hyperf/hyperf/tree/3.1.66
立即学习“PHP免费学习笔记(深入)”;
—— 浏览 tag 分支即可。不要 clone 主干再 checkout,容易误用 dev-main 分支代码;更不要把 tag 目录复制进已有项目,DI 注解扫描路径和类名映射会错乱。
常见踩坑点
有人尝试用 git clone + composer install 启动,结果卡在 php bin/hyperf.php start 报 RuntimeException: No commands found。这是因为:
- 没执行
php bin/hyperf.php vendor:publish补全配置 - 没运行
php bin/hyperf.php gen:command生成命令类映射 - 或者
scan配置漏写了App命名空间,导致控制器没被加载
这些步骤在 create-project 时已由 skeleton 的 post-install 脚本自动完成,手动操作极易遗漏。



















