development

정의되지 않은 함수 호출 : simplexml_load_string ()

big-blog 2020. 10. 28. 08:26
반응형

정의되지 않은 함수 호출 : simplexml_load_string ()


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);
}

하지만 정의되지 않은 호출 함수 오류가 발생합니다.


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

PHP 7이 포함 된 최신 Ubuntu 버전을 사용하는 경우 절차도 동일합니다 (타사 저장소 추가 제외).


XML 모듈이 설치되지 않은 경우 설치하십시오.

우분투 14.04의 현재 버전 5.6 :

sudo apt-get install php5.6-xml

나는 이것이이 포스트에서와 같을 수 있다고 생각합니다 : 클래스 'SimpleXMLElement'는 puphpet PHP 5.6에서 찾을 수 없습니다. 그래서 아마도 설치 / 활성화 할 수 있습니다.

php-xml or php-simplexml

php.ini 파일 에서 라이브러리를 활성화하는 것을 잊지 마십시오 . (상단 댓글 처럼 )


php-xml 모듈이 설치되어 있고 php.ini.

응답 형식을 처리하기 쉬운 json으로 변경할 수도 있습니다. 이 경우 &format=jsonURL 쿼리 문자열 에만 추가하면 됩니다.

$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 에서이 오류를 수정하려면 다음을 수행하십시오 .

  1. PHP 확장 설치 :

    sudo yum 설치 php-xml

  2. 웹 서버를 다시 시작하십시오. 제 경우에는 php-fpm입니다 .

    서비스 php-fpm 재시작

참고 URL : https://stackoverflow.com/questions/31206186/call-to-undefined-function-simplexml-load-string

반응형