私は写真サイトを 2 年以上運営しており、各画像ページが各画像の下に蓄積した Facebook の「いいね!」と「シェア」の数に関する統計を表示していました。
この情報を取得して変数に入れるために使用したコードは次のとおりです。
<?php // Get Facebook Stats for Shares Likes Comments etc...
$url = "http://api.facebook.com/restserver.php?method=links.getStats&urls=".urlencode($this->canonicalurl);
$xml = file_get_contents($url);
$xml = simplexml_load_string($xml);
$shares = number_format($xml->link_stat->share_count);
$likes = number_format($xml->link_stat->like_count);
$comments = number_format($xml->link_stat->comment_count);
$total = number_format($xml->link_stat->total_count);
?>
今日、PHP5.2 から 5.4 に切り替えたところ、突然すべての統計が表示されなくなるまで、すべて問題ありませんでした。少し読んだところ、allow_url_fopen = 1 を設定する必要があると言う人もいましたが、それは既に設定されています。
file_get_contents の使用に関係があるのではないかと他の人が言っていましたが、具体的な結果は得られませんでした。
何が間違っているのか、誰かに光を当てることはできますか? それが原因である場合、この問題を回避する file_get_contents を使用せずに上記を記述する別の方法はありますか?
ありがとう!