我正在构建一个使用 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 缓存并使用我能找到的所有其他命令。这让我真的很难过,伙计们。我错过了一些非常明显的东西吗?