In der Facebook API zu einer Facebook App hatte ich heute mit dem unregelmäßigen Auftreten eines Fehlers zu kämpfen:
"Fatal error: Uncaught CurlException: 60: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed thrown in facebook.php on line 512"
Nach einiger Recherche fand ich eine Möglichkeit die zum Problem führende Zertifikatsprüfung zu deaktivieren:
Im folgenden Code
/**
* Default options for curl.
*/
public static $CURL_OPTS = array(
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
CURLOPT_USERAGENT => 'facebook-php-3.1',
?>
welchen ihr in der base_facebook.php im Verzeichnis "fb-sdk/src/base_facebook.php" in der Zeile 125 findet (Version 3.1.1), einfach die folgenden zwei Zeilen ergänzen:
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 2
?>
Danach hatte sich das Problem in unserem Fall erledigt. Vermutlich ist der Grund dafür eine ältere cURL Version, auf einem unserer anderen Testserver mit neuerer Version trat dieses Problem nicht auf.
Vielleicht hattet ihr ja Zeit, euch näher mit den Ursachen zu beschäftigen?
Auf jeden Fall ist das Thema hier viel diskutiert.