用 composer create-project 安装 tp6 才正确,因 tp6 是完整框架而非单个包;需指定预发布版本或调整稳定性设置;php 版本不低于 7.2.5;web 服务器根目录必须为 public/;.env 文件须置于项目根目录。

用 composer create-project 装 TP6,别用 composer require
TP6 是完整框架,不是单个包,composer require topthink/think 只会拉核心库,缺路由、命令行、配置目录等骨架文件,项目根本跑不起来。create-project 才是正确入口,它会复制官方项目模板(含 public/、app/、config/ 等结构)。
实操建议:
- 执行
composer create-project topthink/think myapp,myapp是你的项目目录名 - 如果卡在下载,加
-vvv看具体卡在哪,常见是 GitHub API 限速,可临时配镜像:composer config -g repo.packagist composer https://packagist.phpcomposer.com(注意该镜像已停用,推荐用阿里云:composer config -g repo.packagist https://mirrors.aliyun.com/composer/) - PHP 版本必须 ≥ 7.2.5,低于这个会报
ParseError: syntax error,不是 Composer 错,是 TP6 代码用了 PHP 7.3+ 的语法
装完发现 php think 报错“找不到命令”
因为 think 是项目根目录下的可执行脚本,不是全局命令。Windows 下双击没用,Linux/macOS 下需确保有执行权限,且要用 php think 显式调用。
常见错误现象:
立即学习“PHP免费学习笔记(深入)”;
- 直接敲
think hello→command not found - Windows 下双击
think文件 → 弹窗报错或闪退 -
php think提示Could not open input file: think→ 当前路径不在项目根目录
实操建议:
- 进入项目根目录(即含
think文件和app/目录的那层)再运行php think - Linux/macOS 下若提示权限不足,执行
chmod +x think - Windows 用户请统一用
php think,别尝试加 .bat 或改扩展名
安装时提示 topthink/think 版本不存在
这是 Composer 默认找稳定版(stable),但 TP6 官方发布用的是 v6.0.0-rc1 这类预发布版本(RC/Beta),默认被过滤掉了。
解决方法只有两个:
- 显式指定版本:比如
composer create-project "topthink/think:^6.0.0-rc1"(引号防 shell 解析错误) - 或临时放宽稳定性要求:
composer create-project topthink/think myapp --prefer-stable --minimum-stability=rc
注意:--dev 不管用,TP6 的 RC 版本不是 dev 分支,是正式 tag,只是带 -rc 后缀。
装完访问 public/ 目录 404 或空白页
TP6 强制要求 Web 服务器以 public/ 为根目录,不能把整个项目放 webroot 下。直接访问项目根目录或 index.php 在子目录里,都会因路径解析失败导致 404 或白屏。
实操建议:
- Apache:确认
DocumentRoot指向/path/to/myapp/public,且开启mod_rewrite - Nginx:
root必须设为/path/to/myapp/public,别漏掉/public - PHP 内置服务器(仅开发):
cd public && php -S localhost:8000 router.php,router.php是 TP6 自带的路由转发脚本 - 别手贱把
public/里的index.php复制到上层,TP6 的自动加载依赖固定相对路径
环境变量和 .env 文件位置也得对——它必须放在项目根目录(和 public/ 同级),不是 public/ 里。











