You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel7使用Scout8配置Meilisearch提示驱动不支持如何解决

问题原因
  • 你安装的laravel/scout:^8.1版本未内置Meilisearch驱动:Laravel官方在Scout v8.6.0版本才正式将Meilisearch纳入官方支持的内置驱动列表,v8.1版本的Scout默认仅支持Algolia等其他驱动,因此会抛出Driver [meilisearch] not supported异常。
  • 文档参考版本不匹配:你参考的是Laravel 8.x版本的Scout文档,而当前项目使用的是Laravel 7.x,不同版本文档对应的依赖兼容范围存在差异,不能直接交叉复用配置逻辑。
可行解决办法

方案1:升级laravel/scout到兼容版本(推荐)

执行composer命令将Scout升级到8.x分支下支持Meilisearch的最新版本:

composer require laravel/scout:^8.6

升级完成后重新发布Scout配置文件覆盖旧配置:

php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"

确认config/scout.php文件中已存在meilisearch驱动的配置段,填入你的Meilisearch服务地址和密钥后,执行以下命令清除配置缓存即可:

php artisan config:clear

该方案无需修改业务代码,兼容性最好,且laravel/scout:^8.6完全兼容Laravel 7.x版本,不会出现框架层面的冲突。

方案2:手动注册Meilisearch驱动(不升级Scout的场景)

如果项目存在其他依赖约束无法升级Scout,可以通过服务容器扩展的方式手动注册Meilisearch驱动:
打开app/Providers/AppServiceProvider.php文件,在boot方法中添加以下代码:

use Laravel\Scout\EngineManager;
use Meilisearch\Client;

public function boot()
{
    resolve(EngineManager::class)->extend('meilisearch', function ($app) {
        return new \Laravel\Scout\Engines\MeilisearchEngine(
            new Client(
                $app['config']->get('scout.meilisearch.host'),
                $app['config']->get('scout.meilisearch.key')
            )
        );
    });
}

保存文件后执行php artisan config:clear清除缓存,驱动即可正常生效。


内容的提问来源于stack exchange,提问作者Tomas Lucena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 22:36:04