ThinkPHP部署成功需验证三件事:框架启动、路由响应、运行时环境就绪;具体包括检查public/index.php和vendor/autoload.php是否存在且可访问,执行php think验证自动加载,用php think run或php -S测试内置服务,chmod -R 775 runtime确保可写,并通过session和class_exists测试Session与验证码功能。

ThinkPHP部署后是否成功,不能只看文件有没有放上去,关键得验证三件事:框架能不能启动、路由能不能响应、运行时环境是否就绪。下面分四块说清楚,每一步都有可操作的验证方法。
检查入口和自动加载是否正常
这是最基础的一关。两个文件必须存在且可访问:
- public/index.php —— 没它,Web 请求根本进不来;
- vendor/autoload.php —— 缺它,所有类都找不到,会报 Class not found 错误。
验证方式很简单:在项目根目录下执行命令行指令:
php think
如果输出一长串命令列表(如 clear、make:controller、run),说明自动加载通了;如果提示 “Class 'think\App' not found”,大概率是 vendor 目录不全或 autoload.php 没生成,此时手动运行 composer install 即可修复。
立即学习“PHP免费学习笔记(深入)”;
确认内置服务器能跑起来
不用配 Nginx/Apache,先用 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 自带服务:
php -S localhost:8000 -t public/,然后浏览器打开 https://www.php.cn/link/fcbb3a1c04ec11f1506563c26ca63774,能显示欢迎页才算真正通了。
验证 runtime 目录是否可写
ThinkPHP 运行时依赖 runtime/ 下的 cache、log、session 等子目录,缺一不可:
- Linux/macOS:执行
chmod -R 775 runtime,并确认runtime/log/里有日志文件生成; - Windows:右键 runtime → 属性 → 安全 → 给当前用户“完全控制”权限;
- 如果访问页面报 500 却没错误提示,十有八九是 runtime 不可写,先查
runtime/log/下最新日志文件内容。
测试 Session 和验证码等依赖功能
很多功能表面跑得通,实际却失效,比如验证码总校验失败——根源常在 Session:
- 在任意控制器里加两行:
session('test', 'ok');和var_dump(session('test'));,输出 string(2) "ok" 表示 Session 正常; - 验证码还要额外检查:
dump(class_exists('think\captcha\Captcha'));输出 true 才算扩展加载成功; - 别忘了确认 PHP 开启了 GD 扩展(验证码图片生成依赖它),在 php.ini 中取消
extension=gd前的分号,重启服务。



















