跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

phpEnv怎么安装ThinkPHP6 phpEnv部署TP6框架详细步骤

必须用 composer create-project 安装 TP6,因 TP6 是「框架即项目」结构,仅此命令能生成含 app/、public/、think 脚本等完整骨架并注入 PSR-4 自动加载;手动解压 ZIP 或 require 会导致 Class not found、白屏或路由失效。 php Env 里装 TP6 必须用 composer create-project,不能拖文件 phpEnv 自带 PHP、Apache/Nginx 和 Composer,但很多人误以为把下载的 TP6 ZIP 解压进网站目录就能跑——不行。TP6 的核心已移入
vendor
,靠 Composer 自动加载,手动复制只会卡在
Class not found
或
require(): failed to open stream
。 正确做法是:打开 phpEnv 自带的命令行(它默认就 cd 进了网站根目录,比如
C:\phpenv\www
),直接执行:
composer create-project "topthink/think:^6.1" myproject
注意两点:
^6.1
必须显式写上,否则可能拉到 TP5 或 TP8 dev 分支;
myproject
是新建目录名,可改,但别带空格或中文。 执行完会生成
myproject/
目录,里面含
app
、
public
、
vendor
、
think
等标准结构 确认
myproject/.env
存在且和
think
文件同级,不是放在
public/
或
app/
下 如果报
Could not find package topthink/think
,先运行
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
换镜像 phpEnv 站点配置必须指向 public/,不是项目根目录 TP6 强制要求 Web 入口是
public/
,否则路由 404、静态资源找不到、
__ROOT__
错乱——这不是“建议”,是框架底层路径硬编码决定的。 立即学习 “ PHP免费学习笔记(深入) ”; 在 phpEnv 的「网站管理」里新增站点时: 网站域名 填本地测试用的,比如
tp6.test
网站目录 必须选到
myproject/public
,不是
myproject
保存后,去系统
C:\Windows\System32\drivers\etc\hosts
最后加一行:
127.0.0.1 tp6.test
如果访问
http://tp6.test
显示空白页或 500,大概率是
.env
里没开调试:
APP_DEBUG=true
缺失或拼错。别猜,先加这行再刷新。 phpEnv 启动 TP6 内置服务器要加 -t public/,否则报错 想跳过 Apache/Nginx 直接试运行?可以,但命令容易错:
cd myproject
php think run
这个命令在 phpEnv 命令行里大概率失败,报
Unable to load configuration
或白屏——因为
php think run
默认用当前目录当 Web 根,而 TP6 入口在
public/
。 PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。 下载 正确启动方式(必须指定
-t public/
):
php -S localhost:8000 -t public/
或者用 TP6 自带的封装命令(需确保
think
文件有执行权限,Windows 一般不用管):
php think run -p 8000
两者效果一样,都等价于
php -S localhost:8000 -t public/
。浏览器打开
http://localhost:8000
就能看见欢迎页。 runtime 目录权限和 .env 加载时机是 phpEnv 里最常忽略的两个点 phpEnv 在 Windows 上跑得顺,但一旦涉及日志写入、缓存生成、模板编译,就会卡在
runtime/
目录——它默认没写入权限,尤其当你用管理员身份装的 phpEnv,而 Apache/Nginx 是以普通用户(如
SYSTEM
)运行时。 解决方法很简单:右键点击
myproject/runtime
→ 属性 → 安全 → 编辑 → 添加
IIS_IUSRS
或
Users
组,并勾上“写入”权限。 另一个隐形坑是
.env
修改后不生效:
.env
只在应用初始化最早期读一次,之后改了也没用 改完必须重启 Web 服务(phpEnv 里点「重启 Apache」或「重启 Nginx」)或重跑
php think run
验证是否加载成功?在
app/common.php
开头加一行:
var_dump($_ENV['APP_DEBUG'] ?? 'not loaded');
,看输出是不是
true
这两处不处理,你会反复遇到“明明改了数据库配置却连不上”“日志死活不生成”这类问题,查半天发现是权限或加载时机不对。

相关文章