エラーはphpコード、より具体的にはfacebooksdkから発生します。Facebookコードがipv6アドレスに接続しようとしてネットワークに到達できない場合にスローされます。これは、システムでipv6が有効になっているが、ipv6接続がないことが原因である可能性があります(base_facebook.phpからの引用)。
// With dual stacked DNS responses, it's possible for a server to
// have IPv6 enabled but not have IPv6 connectivity. If this is
// the case, curl will try IPv4 first and if that fails, then it will
// fall back to IPv6 and the error EHOSTUNREACH is returned by the
// operating system.
if ($result === false && empty($opts[CURLOPT_IPRESOLVE])) {
$matches = array();
$regex = '/Failed to connect to ([^:].*): Network is unreachable/';
if (preg_match($regex, curl_error($ch), $matches)) {
if (strlen(@inet_pton($matches[1])) === 16) {
self::errorLog('Invalid IPv6 configuration on server, '.
'Please disable or get native IPv6 on your server.');
self::$CURL_OPTS[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$result = curl_exec($ch);
}
}
}
これを処理する正しい方法は、システムでipv6を無効にするか、ipv6接続を取得することです。または、Facebookコードに、コードで次のような方法で常にipv4を使用するように要求することで、エラーを抑制することができるはずです。
Facebook::$CURL_OPTS[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;