phpEnv 不支持一键安装 Meilisearch 或其 PHP 驱动;需单独运行 Meilisearch(Docker 或 Windows 二进制),并通过 Composer 安装 meilisearch/meilisearch-php;Laravel Scout 需确保环境变量、服务运行及数据导入三者同时满足。

phpEnv 是一个 Windows 下的 PHP 集成环境(类似 XAMPP),它**不内置 Meilisearch,也不提供“Meilisearch-PHP 驱动”安装入口**。你不能在 phpEnv 的图形界面里点几下就装好 Meilisearch 或它的 PHP 客户端。这是常见误解的源头。
phpEnv 本身不支持一键安装 Meilisearch 服务
phpEnv 只负责管理 PHP、Apache/Nginx、MySQL 等本地运行时组件,它没有容器能力,也不集成 Rust 编写的 Meilisearch 二进制服务。试图在 phpEnv 的“扩展管理”或“服务列表”里找 Meilisearch,注定找不到。
- Meilisearch 必须单独运行:推荐用
docker run -p 7700:7700 getmeili/meilisearch:latest启动(需先装 Docker) - 若不想装 Docker,可手动下载 Windows 版二进制:
meilisearch-windows-amd64.exe,放在任意目录(如C:\meilisearch\),然后命令行启动:.\meilisearch-windows-amd64.exe --http-addr 127.0.0.1:7700 - 确保端口
7700未被占用(IIS、其他服务可能占着)
PHP 客户端要通过 Composer 装,不是 phpEnv 插件
meilisearch/meilisearch-php 是纯 PHP 包,和 phpEnv 无关。只要你的项目能跑 composer 命令,就能装——不管你是用 phpEnv、Laravel Sail 还是 WSL。
- 执行
composer require meilisearch/meilisearch-php guzzlehttp/guzzle即可 - 若报 Guzzle 版本冲突(比如 Laravel 8 自带 Guzzle 7,而新版 SDK 要 Guzzle 8),就锁版本:
composer require meilisearch/meilisearch-php:^0.19.0 - 装完后,代码里直接 new 客户端:
$client = new \MeiliSearch\Client('http://127.0.0.1:7700', 'masterKey');
Scout 驱动配置失败?检查这三处硬依赖
Laravel Scout 的 meilisearch 驱动不是“装了包就自动可用”的。它依赖三个外部条件同时满足:
-
MEILISEARCH_HOST和MEILISEARCH_KEY必须在.env里写对,且不能有空格或引号(错例:MEILISEARCH_HOST="http://127.0.0.1:7700") - Meilisearch 服务必须正在运行,并响应
curl http://127.0.0.1:7700/health(返回{"status":"available"}) - 模型用了
use Searchable;且已执行过php artisan scout:import "App\Models\Post"—— 没导入数据,search()永远返回空数组
.env(记得 php artisan config:clear)。别跳过验证步骤。



















