composer安装thinkphp6需用create-project命令,确认php≥7.2.5及mbstring、openssl、pdo、json扩展启用,设置阿里云镜像源,安装后验证public/index.php和vendor/autoload.php存在,runtime目录赋写权限,用php -s启动验证。

Composer 安装 ThinkPHP6 不需要手动下载框架包,直接用 create-project 命令即可完成初始化。但很多人卡在环境、权限或镜像问题上,导致安装失败或生成的项目无法运行。
确认 Composer 已正确安装并可用
执行 composer --version 能输出版本号(如 2.5.8)才算就绪。常见问题包括:
- Windows 用户未将 Composer 加入系统 PATH,命令提示“不是内部或外部命令”
- Mac/Linux 用户用
sudo curl -sS https://getcomposer.org/installer | php安装后,忘记给composer.phar添加执行权限:chmod +x composer.phar - 国内网络下建议先切镜像源:
composer config -g repo.packagist composer https://packagist.phpcomposer.com(注意:该镜像已停用,推荐改用https://mirrors.aliyun.com/composer/)
用 create-project 创建 TP6 项目(推荐方式)
ThinkPHP6 不再支持通过 composer require topthink/think 手动引入,必须用 create-project 初始化骨架项目。命令如下:
composer create-project topthink/think tp6-demo
说明:
立即学习“PHP免费学习笔记(深入)”;
易优乐器古筝书画培训类网站源码是基于易优cms开发,适合企业进行教育培训展示使用。程序内核为Thinkphp5.0开发,后台简洁,为企业网站而生。 这是一套安装就能建站的程序,不定期更新程序BUG,更新网站功能。 我们提供的不仅是模板这么简单,我们还提供程序相关咨询、协助安装等服务。 默认不包含小程序插件,需要另外单独购买插件。 模板安装步骤 1、请将安装包Z
-
tp6-demo是项目目录名,可自定义;若当前目录已有同名文件夹会报错 - 默认安装最新稳定版(如
v6.3.0),如需指定版本,加@v6.2.0后缀:composer create-project topthink/think tp6-demo @v6.2.0 - 若提示
Could not find package topthink/think,大概率是镜像源失效或本地缓存异常,执行composer clear-cache后重试
安装完成后检查关键文件与权限
成功执行后,tp6-demo 目录下应有 app/、config/、public/ 等标准结构。重点验证:
-
public/index.php是否存在 —— 这是唯一入口,缺失说明安装中途被中断 -
vendor/autoload.php是否可读 —— 若报错failed to open stream: No such file or directory,说明composer install没跑完,尝试进入目录后手动执行一次composer install - Linux/macOS 下,
runtime/目录需有写权限:chmod -R 755 runtime,否则日志、缓存写入失败
启动内置服务器验证是否跑通
别急着配 Nginx/Apache,先用 PHP 内置服务器快速验证:
cd tp6-demo && php think run
或直接:
cd tp6-demo && php -S localhost:8000 -t public/
访问 http://localhost:8000 出现 ThinkPHP6 欢迎页即成功。注意:
-
php think run依赖topthink/framework的命令行支持,若报错Command "run" is not defined,说明框架核心未加载,检查vendor/topthink/think是否完整 - Windows 上若提示
proc_open(): fork failed,通常是防病毒软件拦截了子进程,临时关闭或换用php -S方式
真正容易被忽略的是:TP6 要求 PHP >= 7.2.5,且必须启用 mbstring、openssl、pdo、json 这几个扩展 —— 缺一个都会在 composer create-project 后期或首次访问时静默失败,只显示空白页或 500 错误,得查 php_error.log 或 runtime/log/ 下的日期文件才能定位。










