composer create-project是唯一推荐的ThinkPHP 8安装方式,因composer require topthink/think仅装核心包、不生成app/public目录、缺失php think命令及.env文件;必须指定包名、目录名,推荐加--stability=stable --remove-vcs,并验证php版本≥8.1、public/index.php存在、php think可执行。

composer create-project 是唯一推荐的 ThinkPHP 8 安装方式,其他方法(如 composer require topthink/think)会导致目录结构缺失、php think 命令不可用、public/index.php 不存在等硬伤,不是“装得慢”,是根本没装对。
为什么不能用 composer require topthink/think?
这个命令只把框架核心包拉进 vendor/,不生成应用骨架:
- app/ 目录为空或根本不存在
- public/ 目录缺失 → 浏览器访问直接 404 或白屏
- php think run 报错 Command "run" is not defined,因为 CLI 入口未初始化
- .env 不自动生成 → 调试开关关不了,数据库配置也无处写
这不是版本问题,是安装逻辑错误。TP8 官方已明确弃用该方式。
composer create-project 必加的参数有哪些?
裸跑 composer create-project topthink/think tp8 在国内环境大概率失败或留下隐患,建议带上这些参数:
-
--stability=stable:防止意外拉到dev-main分支(不稳定、文档不同步、API 可能变动) -
--remove-vcs:删掉vendor/下所有.git,避免后续项目提交时污染远程仓库 -
--ignore-platform-reqs(仅调试期临时用):跳过 PHP 版本/扩展检查,用于快速验证流程,但上线前必须移除并补全环境
完整推荐命令:composer create-project topthink/think tp8 --stability=stable --remove-vcs
装完立刻要验的三件事
进项目根目录后,别急着 php think run,先确认这三项是否正常:
立即学习“PHP免费学习笔记(深入)”;
-
php think能否列出命令列表?不能 → 检查vendor/bin/think是否可执行(Linux/macOS 运行chmod +x vendor/bin/think;Windows 确认vendor\bin在系统 PATH 中,否则用php vendor/bin/think代替) -
php -v输出是否 ≥ 8.1?低于则报错ParseError或直接退出,TP8 强制要求 PHP 8.1+,不是“兼容”而是“必须” -
public/index.php是否存在?不存在 → 说明安装过程被中断或镜像源返回了残缺包,删掉整个目录重试,并提前配好阿里云源:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
Web 服务器必须指向 public/,不是项目根目录
TP8 不再允许从项目根目录访问 index.php,这是安全强制设计,不是配置疏漏:
- Apache:
DocumentRoot必须设为/path/to/tp8/public,且对应目录需启用AllowOverride All才能读取.htaccess - Nginx:
root必须是/path/to/tp8/public,不是/path/to/tp8;重写规则必须含try_files $uri $uri/ /index.php?$query_string; - 本地开发最省事:进
public/目录,运行php -S localhost:8000 router.php,别在项目根目录下跑php -S
忽略这点,90% 的“白屏”“404”“No input file specified” 都源于此。不是代码问题,是入口路径错了。



















