0

我正在构建一个使用 KeenIO 进行事件跟踪的 Laravel (5.1) 站点。在本地(在 Mac 上)一切正常,所以我通过 Forge 将所有内容推送到我的数字海洋水滴上,开始在服务器上进行测试。出于性能原因,我将敏感事件委托给 Laravel 队列服务。当我运行 queue:listen 命令时,我得到了这个奇怪的错误。

[Guzzle\Http\Exception\CurlException]
[curl] 77: error setting certificate verify locations:
   CAfile: {my_local_file_path}/vendor/guzzle/guzzle/src/Guzzle/Http/Resources/cacert.pem
   CApath: /etc/ssl/certs [url] https://api.keen.io/3.0/projects/{project_id}/events/users

我检查了 guzzle 源代码,看起来这一行是在第 139 行的 Client.php 中设置此路径的位置。

$opts[CURLOPT_CAINFO] = __DIR__ . '/Resources/cacert.pem';

虽然DIR应该引用服务器的文件路径...那为什么它仍然指向我的 mac 上的本地文件路径??????

我尝试清除所有 Laravel 缓存并使用我能找到的所有其他命令。这让我真的很难过,伙计们。我错过了一些非常明显的东西吗?

4

1 回答 1

0

我不知道这是否是一个实际的解决方案......但是在我的本地机器上运行 composer update 几次并推回液滴后,一切似乎都在工作......如果有人能解释为什么会这样修复的东西我会很感激的,哈哈。

于 2016-01-08T15:44:09.943 回答