我正在使用 cloudinary-labs/cloudinary-laravel 包使用以下代码将图像上传到 Cloudinary:
$result = Cloudinary::upload($request->file('photo')->getRealPath());
但我收到 cURL 错误 60,其中包含以下详细信息:
"message": "cURL error 60: SSL certificate problem: self signed certificate in certificate chain (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://api.cloudinary.com/v1_1/{MY-CLOUD-NAME}/image/upload",
"exception": "GuzzleHttp\\Exception\\RequestException",
"file": "F:\\open-source-projects\\soora\\vendor\\guzzlehttp\\guzzle\\src\\Handler\\CurlFactory.php",
"line": 211,
起初,我以为我知道解决方案,因为我在另一个项目中遇到了同样的错误(但使用 AWS 代替),所以我下载了 cacert.pem 文件并将其放置在 php.ini 文件中,但是我仍然遇到同样的错误。
您看到的错误(cURL 错误 60:SSL 证书问题:证书链中的自签名证书)很可能与发出请求的服务器上的根证书捆绑包有关 - 这些根证书捆绑包已过期。
要解决此问题,首先请检查并更新服务器上的证书包。
解决方法: 就用这个
$uploadedFileUrl = $this->cloudinary->uploadApi()->upload($request->file('product_image')->getRealPath(), [ 'folder' => 'products', 'verify' => false ]);