php - 安装 Guzzle 后 Laravel Scout 错误“未定义的类常量 'VERSION'”
问题描述
我正在使用 Laravel 5.6.* 和 Laravel Scout ^7.1 和 Algolia 进行项目,我刚刚安装了 Guzzle 7.0。
Scout 和 Algolia 以前工作正常,但现在当我尝试保存模型时,我在 Sentry 中遇到如下错误:
Symfony\Component\Debug\Exception\FatalThrowableError
Undefined class constant 'VERSION'
通过查看 Sentry 中的细节,我发现这与 Guzzle 有关。错误源于文件:
/vendor/algolia/algoliasearch-client-php/src/Support/UserAgent.php in Algolia\AlgoliaSearch\Support\UserAgent::getDefaultSegments at line 50
代码如下所示:
if (interface_exists('\GuzzleHttp\ClientInterface')) {
$segments['Guzzle'] = \GuzzleHttp\ClientInterface::VERSION;
}
\GuzzleHttp\ClientInterface::VERSION
似乎是导致错误的原因。不知道该怎么做。我安装了不兼容的 Guzzle 版本吗?我可以将 Scout 配置为告诉它不要尝试使用 Guzzle,并在我安装它之前默认它正在做的事情吗?
编辑:也许我想如果我更新 Scout 可能会解决这个问题,所以我运行了一个composer update laravel/scout
. 虽然仍然有同样的错误。
编辑 2:继续使用 Composer 更新所有内容。这个错误现在似乎已解决。刚刚重新创建它并没有再次收到错误。
解决方案
请参阅原始帖子中的第二个编辑。作曲家更新全部解决了这个问题。
推荐阅读
- python - 如何获取文本
- reactjs - React-Admin:我如何最好地使用嵌套的“源”道具
- authentication - refresh_token 是否应该刷新未过期的访问令牌
- python - Laravel - PHP 将 JSON 对象视为来自 API 的字符串
- r - 如何使用 rnorm 为每个 ID(总共 1000 个 ID)生成相同的值?
- java - Java HttpResponse 说明
- sql - 为日期时间列设置默认值
- html - 单击内容可编辑范围时,标签元素内的 ContentEditable 范围失去焦点
- azure-cognitive-search - 在 Azure 认知搜索中,是否可以将多个 blob 添加到索引中单个记录的集合中
- php - Laravel SQL Server 存储过程不返回正确的值