必须用 composer create-project 创建项目,而非 require;需确认php扩展 mbstring、openssl、pdo、fileinfo 全部启用;执行 php think run 后访问 http://127.0.0.1:8000 验证欢迎页;再通过 php think make:controller 创建控制器并配置路由,访问 /api/hello 得到 json 响应即全流程打通。

直接用 composer create-project 一条命令生成完整可运行项目,别用 require——那是给已有项目加依赖的,不会建目录、不配入口、必然报 Class 'think\App' not found。
确认PHP环境真实就绪
光看 php -v 输出 8.0+ 不够,关键得扩展真加载、配置真生效:
- 运行
php --ini,确认 Loaded Configuration File 指向你正在编辑的php.ini(不是php.ini-development) - 执行
php -m | grep -E "mbstring|openssl|pdo|fileinfo"(Mac/Linux)或php -m | findstr "mbstring openssl pdo fileinfo"(Windows),四项必须全部出现 - 若缺失,打开
php.ini,取消对应extension=行前的分号;Windows 写extension=fileinfo.dll,Linux/macOS 写extension=fileinfo.so - 改完重启终端,再验证——Windows 用户常因 PATH 还指向旧 PHP 目录而失败
拉取标准骨架项目
必须用 create-project,它会自动生成 app/、config/、public/、vendor/ 和 think 入口文件:
- 先换国内镜像(避免超时或冲突):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 执行:
composer create-project topthink/think blog(自动拉最新稳定版) - 如需指定版本防意外降级:
composer create-project topthink/think blog 8.0.12 - 完成后进入目录:
cd blog
启动并验证首页能真正访问
php think run 跑起来 ≠ 页面能打开。核心是 public/ 必须为 Web 根目录,且未被绕过:
- 在项目根目录执行:
php think run,看到http://127.0.0.1:8000提示即服务已启 - 浏览器打开该地址,显示 “ThinkPHP V8.x” 欢迎页才算成功
- 若 404 或空白,检查三件事:
– 是否在项目根目录下执行命令
–public/index.php是否存在
–.env中是否写了APP_DEBUG=true(否则错误静默)
快速添加第一个控制器并测试接口
不用急着配路由或数据库,先验证框架链路通不通:
- 执行:
php think make:controller Hello(自动生成命名空间和继承关系) - 打开
app/controller/Hello.php,把index()方法改成返回 JSON:
namespace app\controller;
use app\BaseController;
class Hello extends BaseController
{
public function index()
{
return json(['code' => 200, 'msg' => 'Hello ThinkPHP 8!', 'data' => ['time' => date('Y-m-d H:i:s')]]);
}
}
- 配置路由:打开
route/app.php,末尾添加一行:use think\facade\Route;<br>Route::get('api/hello', 'Hello/index'); - 浏览器访问
http://127.0.0.1:8000/api/hello,看到 JSON 响应即全流程打通
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











