Подтвердить что ты не робот

Вызов функции undefined: simplexml_load_string()

Я использую функцию count facebook, используя cron файл. В которой 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);
}

Но я получаю undefined ошибку функции вызова.

4b9b3361

Ответ 1

Для PHP 7 и Ubuntu 14.04 следующая процедура. Поскольку PHP 7 не находится в официальных Ubuntu PPA, вы, вероятно, установили его через Ondřej Surý 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

Если вы находитесь в более поздней версии Ubuntu, где включен PHP 7, процедура, скорее всего, будет такой же (кроме добавления стороннего репозитория).

Ответ 2

Если модуль XML не установлен, установите его.

Текущая версия 5.6 на ubuntu 14.04:

sudo apt-get install php5.6-xml

Ответ 4

Убедитесь, что модуль php-xml установлен и включен в php.ini.

Вы также можете изменить формат ответа на json, который легче обрабатывать. В этом случае вам нужно добавить строку &format=json в строку запроса url.

$rest_url = "http://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=".urlencode($source_url);

И затем используйте json_decode() для извлечения данных в script:

$result = json_decode($content, true);
$fb_like_count = $result['like_count'];

Ответ 5

Чтобы исправить эту ошибку на Centos 7:

  1. Установите расширение PHP:

    sudo yum установить php-xml

  2. Перезагрузите ваш веб-сервер. В моем случае это php-fpm:

    перезапуск сервисов php-fpm