安装验证通过需检查三类东西:入口文件(public/index.php)、自动加载(vendor/autoload.php)和运行时目录(runtime/)可写性;缺一不可,否则项目无法正常启动。

安装完 ThinkPHP6 后,composer create-project 成功只代表骨架生成了,不代表项目能跑通。真正要确认「安装验证通过」,必须检查三类东西:入口文件是否存在、自动加载是否就绪、运行时目录是否可写。
检查 public/index.php 和 vendor/autoload.php 是否存在
这两个文件是 TP6 能启动的硬性前提,缺一不可:
-
public/index.php缺失 → 说明create-project中途失败或被中断,常见于网络超时或磁盘空间不足;重试前先删掉目标目录再执行命令 -
vendor/autoload.php报failed to open stream: No such file or directory→ 不是没装好,而是composer install没触发,进项目目录手动跑一次composer install即可 - 两者都存在但访问 404,大概率是 Web 服务器没指向
public/目录(如 Nginx 的root配置错成项目根目录而非public)
运行 php think run 或 php -S 快速验证服务是否启动
别急着配 Nginx,用 PHP 内置服务器最直接:
- 在项目根目录执行
php think run,成功会输出类似Server running on http://127.0.0.1:8000 - 若提示
Command "run" is not defined,说明think-cmd未启用或think文件权限不对(Linux/macOS 下需chmod +x think) - 用
php -S localhost:8000 -t public/启动后访问页面报500 Internal Server Error,优先看runtime/log/下最新日志,90% 是runtime/目录没写权限
确认 runtime/ 目录有写权限且结构完整
TP6 运行时依赖 runtime/ 下多个子目录,仅设 755 不够,且 Windows 下 chmod 无效:
立即学习“PHP免费学习笔记(深入)”;
- Linux/macOS:执行
chmod -R 775 runtime(不是755),并确保runtime/cache/、runtime/log/、runtime/session/三个子目录存在 - Windows:右键
runtime→ 属性 → 安全 → 编辑 → 给当前用户「完全控制」权限;若用 phpstudy/xampp,还需确认 PHP 进程以当前用户身份运行 - 若
runtime/是空目录或只有.gitignore,说明框架没真正初始化过请求,php think run一次就能自动生成
最容易被忽略的是:runtime/ 权限问题在开发环境常被掩盖(比如用 root 启动服务器),但一上生产环境立刻暴露;还有人改了 APP_DEBUG = false 后不报错也不写日志,结果验证码、缓存、Session 全部失效却找不到原因。



















