游客发表
ThinkPHP 6 的下载下载方式跟老版本不太一样。如果你还在用 composer create-project topthink/think 这种命令去拉 5.x 的下载包,到了 6.0 会直接报错——版本约束对不上。下载我上周帮一个朋友部署项目,下载他卡在这一步快半小时,下载最后发现是下载 composer 默认拉了个 dev-master 分支,结果依赖树全乱了。下载
正确的下载做法是明确指定版本号。打开终端,下载cd 到你的下载项目目录,然后执行:
composer create-project topthink/think=6.0.* tp6 这里的下载 tp6 是你要生成的文件夹名,可以换成任意你喜欢的下载。等 composer 跑完,下载你会看到一个标准的下载 ThinkPHP 6 骨架结构。注意,下载6.0 不再像 5.1 那样把 application 目录直接放在根目录下,而是改成了 app,同时多了一个 config 目录专门放配置文件。这个变化一开始会让人有点不习惯,但用久了会发现更清晰。
如果你不想用 create-project,也可以只下载核心框架。去 packagist 搜 topthink/framework,或者直接 composer require topthink/framework。不过这种方式适合把 TP 嵌入到已有项目中,新手建议还是走 create-project 完整骨架,省得自己配路由和入口文件。
网络问题是个坑。国内直接连 packagist 有时候慢得离谱,甚至超时。我一般会切到阿里云镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 切完再跑 create-project,速度能快好几倍。另外,ThinkPHP 6 要求 PHP >= 7.2.5,如果你本地还是 7.1,那 composer 会直接拒绝安装。别问我是怎么知道的——之前在一台旧开发机上折腾了半天,最后发现是 PHP 版本不够。
下载完之后,进入项目目录,运行 php think run。这是 TP6 内置的简易服务器,默认监听 8000 端口。浏览器打开 localhost:8000,看到欢迎页就说明下载和基础配置都对了。如果报错说 think 命令不存在,检查一下是不是没给 think 文件加执行权限,或者你根本没在项目根目录下执行。
还有一点,TP6 默认没有安装 topthink/think-multi-app 多应用模块。如果你需要多应用模式,得额外 composer require topthink/think-multi-app。这个包在 5.x 时代是内置的,6.0 把它拆出去了。我见过不少人下载完发现没法按应用目录访问,就是因为漏了这一步。
最后说个实际体验:TP6 的下载过程整体比 5.x 干净,依赖少了很多,但版本约束更严格。别随便改 composer.json 里的 topthink/framework 版本号,除非你清楚每个小版本之间的 break change。我一般会锁死到具体版本,比如 "topthink/framework": "6.0.12",避免自动升级带来意外。
下载只是第一步,后面配置数据库、路由、中间件,坑还多着呢。但至少把包拉下来这件事,按上面说的做,十分钟内能搞定。
友情链接