Facebook sdk returned an error: ssl certificate problem: unable to get local issuer certificate

說明

日前發現使用Facebook SDK for PHP時發現都會出現底下錯誤 Facebook sdk returned an error: ssl certificate problem: unable to get local issuer certificate。

解決

1.首先下載目前最新CA憑證

官方下載網址 : https://curl.se/ca/cacert.pem

2.將下載的cacert.pem 檔案放在Facebook SDK的目錄底下

https://github.com/facebookarchive/php-graph-sdk

graph-sdk/src/Facebook/HttpClients/certs/

3.開啟 graph-sdk/src/Facebook/HttpClients/FacebookCurlHttpClient.php

4.在第 128 行左右找到以下行: CURLOPT_CAINFO => DIR . ‘/certs/DigiCertHighAssuranceEVRootCA.pem’,

5.更改此行以顯示剛剛上傳的 cacert.pem 檔案:CURLOPT_CAINFO => DIR . ‘/certs/cacert.pem’,