PHP: 调用未定义的函数: simplexml_load_string()

2022-08-30 07:44:52

我正在使用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("abc@gmail.com","hi".$fb_like_count,$message);
}

但是我得到了未定义的调用函数错误。


答案 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

并重新启动Apache:

sudo service apache2 restart

如果您使用的是包含 PHP 7 的更高版本的 Ubuntu 版本,则该过程很可能也是相同的(除了添加任何第三方存储库)。


答案 2

如果未安装 XML 模块,请安装它。

ubuntu 14.04 上的当前版本 5.6:

sudo apt-get install php5.6-xml

并且不要忘记在它之后运行sudo服务apache2重新启动命令

祖尔希尔米·扎伊努迪


推荐