Cronファイルを使用してfacebookカウント機能を実装しています。 cronは10分ごとに実行され、ページのいいね!の総数をカウントします。
for($i=0;$i<3;$i++){
$source_url =$cars[$i];
$rest_url = "http://api.facebook.com/restserver.php?method=links.getStats&urls=".urlencode($source_url);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$rest_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($curl);
curl_close($curl);
$message=stripslashes($content);
$xml_record = simplexml_load_string($message);
$fb_like_count = $xml_record->link_stat->like_count;
echo "".$fb_like_count;
mail("[email protected]","hi".$fb_like_count,$message);
}
しかし、未定義の呼び出し関数エラーが発生しています。
PHP 7およびUbuntu 14.04の場合、手順は次のとおりです。 PHP 7は公式のUbuntu PPAにはないので、おそらくOndřejSurýのPPA(Sudo add-apt-repository ppa:ondrej/php)を介してインストールしました。 /etc/php/7.0/fpmに移動してphp.iniを編集し、次の行のコメントを解除します。
extension=php_xmlrpc.dll
次に、php7.0-xmlをインストールします。
Sudo apt-get install php7.0-xml
そして、PHPを再起動します。
Sudo service php7.0-fpm restart
PHP 7が含まれている新しいUbuntuバージョンを使用している場合、手順も同じである可能性が高いです(サードパーティのリポジトリを追加することを除く)。
XMLモジュールがインストールされていない場合は、インストールします。
Ubuntu 14.04の現在のバージョン5.6:
Sudo apt-get install php5.6-xml
私はそれがこの投稿のようなものになると思います: puphpet PHP 5.6 にないクラス 'SimpleXMLElement'
php-xml or php-simplexml
php.iniファイル内のライブラリをアクティブにすることを忘れないでください。 (トップ comment のように)
php.ini
にphp-xmlモジュールがインストールされ、有効になっていることを確認してください。
また、応答形式をjsonに変更することもできます。その場合、&format=json
をURLクエリ文字列に追加するだけです。
$rest_url = "http://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=".urlencode($source_url);
そして、json_decode()
を使用して、スクリプト内のデータを取得します。
$result = json_decode($content, true);
$fb_like_count = $result['like_count'];
Centos 7でこのエラーを修正するには:
PHP拡張機能をインストールします。
Sudo yum install php-xml
Webサーバーを再起動します。私の場合、php-fpm:
サービスphp-fpm restart