laravel valet 通过自定义 thinkphpvaletdriver 可支持 thinkphp,需在 ~/.config/valet/drivers/ 下创建驱动文件,识别 public/index.php 入口;项目置于 ~/sites 并执行 valet park 后即可访问 http://mythinkapp.test,支持 https 和多版本 php 切换。

Laravel Valet 本身不原生支持 ThinkPHP,但通过自定义驱动(Custom Driver)可以完美适配。它不是“开箱即用”,但配置一次即可长期复用,整个过程不复杂,关键在项目结构识别和 Web 入口路径的正确映射。
确认前提:Valet 已安装并运行正常
确保你已完成标准 Valet 安装流程:
- macOS 系统(Valet 仅支持 macOS,不兼容 Windows/Linux)
- Homebrew、PHP(≥8.1)、Composer 已安装且在 PATH 中
- 执行过
valet install,且valet status显示 Valet is running - 未被 Apache/Nginx 占用端口 80 或 443
为 ThinkPHP 创建专用驱动
Valet 通过驱动(Driver)判断项目类型并设置正确的 Web 根目录和路由规则。ThinkPHP 默认入口是 public/index.php,需让 Valet 识别该结构。
在 ~/.config/valet/Drivers/ 目录下创建文件:ThinkPHPValetDriver.php
内容如下(适配 ThinkPHP 6.x / 7.x,入口统一为 public/):
<?php class ThinkPHPValetDriver implements ValetDriver
{
public function serves($sitePath, $siteName, $uri)
{
return file_exists($sitePath . '/public/index.php');
}
public function isStaticFile($sitePath, $siteName, $uri)
{
if (file_exists($staticFilePath = $sitePath . '/public' . $uri)) {
return $staticFilePath;
}
return false;
}
public function frontControllerPath($sitePath, $siteName, $uri)
{
return $sitePath . '/public/index.php';
}
}项目准备与访问
将 ThinkPHP 项目放入 Valet 托管目录(如 ~/Sites),确保结构含 public/index.php:
-
~/Sites/mythinkapp/public/index.php✅(必须存在) -
~/Sites/mythinkapp/app/、~/Sites/mythinkapp/config/等目录可选
然后执行:
cd ~/Sites<br>valet park
之后即可直接访问:http://mythinkapp.test
如果项目使用了伪静态(如 ThinkPHP 的 PATHINFO 模式),Valet 默认 Nginx 配置已支持,无需额外修改。
HTTPS 与多版本 PHP 支持
启用 HTTPS 很简单:
valet secure mythinkapp
若项目依赖特定 PHP 版本(例如 ThinkPHP 7 要求 PHP 8.1+):
- 先用 Homebrew 安装:
brew install php@8.2 - 再切换:
valet use php@8.2 - 或在项目根目录写
.valetphprc文件,内容为php@8.2,更精准
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











