首选方式是 composer create-project,因其可直接指定版本号安装 thinkphp 5.1 任意旧版,跳过现有 composer.json 干扰,避免依赖冲突,且无需改全局配置或手动下载 zip。

直接用 composer create-project 指定版本号就能装 ThinkPHP 5.1 的任意旧版本,不需要改全局配置或手动下载 ZIP。
为什么 composer create-project 是首选方式
ThinkPHP 5.1 已停止维护,官方不再推新版 tag,但所有历史版本都保留在 Packagist 上。用 create-project 能跳过当前项目已有 composer.json 的干扰,避免 require 时因依赖冲突失败——尤其当你本地已装高版本 TP 或 Laravel 时更明显。
常见错误现象:Could not find package topthink/think with stability stable,其实是 Composer 默认只找 latest-stable(即 TP6/7),不是找不到包,是没指定版本约束。
- 必须加
--prefer-dist(加速下载,用压缩包而非 Git 克隆) - 必须加
--no-dev(TP5.1 的dev-master分支含大量调试工具,生产环境不需要) - 不推荐用
composer require topthink/think,它会往现有项目里加依赖,容易触发 autoload 冲突或class not found
安装 TP5.1.39(最后一个正式版)的完整命令
TP5.1 最终稳定版是 v5.1.39,发布于 2019 年底,兼容 PHP 5.6–7.3。执行以下命令即可生成干净项目:
立即学习“PHP免费学习笔记(深入)”;
composer create-project topthink/think=5.1.39 myapp --prefer-dist --no-dev
注意:=5.1.39 中的等号不能省,否则 Composer 会当成目录名解析;myapp 是项目文件夹名,可自定义。
- 如果提示
Package topthink/think has a PHP requirement incompatible with your PHP version,说明你 PHP 版本太高(如 8.0+),需降级到 PHP 7.3 或加--ignore-platform-reqs(仅测试用,不建议线上) - 安装后检查
think文件权限,Windows 下偶尔会缺失可执行位,运行php think version前先chmod +x think(Linux/macOS)
如何查到其他 TP5.1 小版本号
Packagist 不提供按分支查老版本的界面,但可以通过 GitHub Release 页面或直接访问 https://packagist.org/packages/topthink/think 拉到底部看 Version History。所有 TP5.1 版本格式统一为 5.1.x,没有 5.1.0-beta 这类非标准命名。
- 常用旧版:5.1.0(初版)、5.1.16(增加多应用支持)、5.1.32(修复路由正则漏洞)、5.1.39(终版)
- 别试
5.1.*,Composer 会默认取最高可用版(可能是 dev 分支),结果不可控 - 想验证某版本是否存在?运行
composer show topthink/think 5.1.20,返回信息即表示该版本可安装
TP5.1 的 composer.json 里锁死了 topthink/framework 的子版本,所以只要指定了主版本号,框架核心、路由、数据库组件都会自动匹配对应 commit,不用单独约束子包。











