composer怎么安装ThinkPHP6_composer安装框架步骤【教程】

2次阅读

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

composer怎么安装ThinkPHP6_composer安装框架步骤【教程】

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免费学习笔记(深入)”;

  • 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,且必须启用 mbstringopensslpdojson 这几个扩展 —— 缺一个都会在 composer create-project 后期或首次访问时静默失败,只显示空白页或 500 错误,得查 php_error.logruntime/log/ 下的日期文件才能定位。

text=ZqhQzanResources