...cURL error 60: SSL certificate problem: unable to get local issuer certificate...


  • 問題描述: 在做PHP爬蟲的時候, 安裝了 guzzle 和 dom-crawler 之后, 調用的時候出現問題, 如下
  • 報錯內容: 
    Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:186 Stack trace: #0 E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(149): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array) #1 E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(102): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory)) #2 E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory)) #3 E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\Proxy.php(28): GuzzleHttp\Handler in E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 186

    這是在Windows下PHPstudy環境測試的, 沒有在Linux上試驗, 不知道Linux會不會出現這樣的錯誤. 這里只說Windows的解決方案, Linux如果出現大概也是同樣的解決方法. 

  • 下載cacert.pem, 下載地址: https://curl.haxx.se/ca/cacert.pem
  • 修改php.ini的curl配置, 找到 [curl] 模塊, 如下
    [curl]
    ; A default value for the CURLOPT_CAINFO option. This is required to be an
    ; absolute path.
    ;curl.cainfo =

    將之前下載的cacert.pem的絕對路徑復制到  ---->   curl.cainfo="cacert.pem絕對路徑", 例如: E:\project\my_test\curl_cainfo\cacert.pem 然后去掉注釋, 重啟PHPstudy.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM