2015-07-03 8 views
39

मैं cron फ़ाइल का उपयोग कर फेसबुक गिनती फ़ंक्शन को कार्यान्वित कर रहा हूं। जिसमें प्रत्येक क्रॉन हर 10 मिनट चलता है और एक पृष्ठ की कुल पसंद की गणना करता है।अपरिभाषित फ़ंक्शन पर कॉल करें: simplexml_load_string()

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

लेकिन मुझे अपरिभाषित कॉल फ़ंक्शन त्रुटि मिल रही है।

+4

क्या आपके पास 'php-xml' मॉड्यूल स्थापित है और सक्षम है? – marian0

उत्तर

2

सुनिश्चित करें कि आपके पास php-xml मॉड्यूल स्थापित है और php.ini में सक्षम है।

आप जेसन को प्रतिक्रिया प्रारूप भी बदल सकते हैं जो संभालना आसान है। उस स्थिति में आपको केवल यूआरएल क्वेरी स्ट्रिंग में &format=json जोड़ना होगा।

$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']; 
+0

मैंने अपना टर्मिनल PHP संस्करण संशोधित किया है, तो यह ठीक काम कर रहा है – anil

23

है, यह स्थापित करें।

वर्तमान संस्करण 5.6 Ubuntu 14.04 पर:

sudo apt-get install php5.6-xml 
84

पीएचपी 7 और Ubuntu 14.04 के लिए प्रक्रिया है इस प्रकार है। चूंकि PHP 7 आधिकारिक उबंटू पीपीए में नहीं है, इसलिए आपने इसे ओन्ड्रेज सुरी के पीपीए (सुडो एड-एपीटी-रिपोजिटरी पीपीए: ऑनड्रेज/पीएचपी) के माध्यम से स्थापित किया है।

extension=php_xmlrpc.dll 

तो बस स्थापित php7.0-xml::

sudo apt-get install php7.0-xml 

और पुनः आरंभ पीएचपी:

/etc/php/7.0/fpm और निम्न पंक्ति को php.ini, टिप्पणी हटाएं संपादित करने के लिए जाओ
sudo service php7.0-fpm restart 

यदि आप बाद में उबंटू संस्करण में हैं जहां PHP 7 शामिल है, तो प्रक्रिया सबसे अधिक संभावना है (किसी भी तृतीय पक्ष भंडार को छोड़कर)।

+5

बस fyi आपको उबंटू पर एक्सटेंशन = php_xmlrpc.dll को अपूर्ण करने की आवश्यकता नहीं है क्योंकि यह एक विंडोज़ एक्सटेंशन है, बस दूसरा चरण करें और यह – wmfrancia

+0

पर काम करेगा : अभी भी मुझे लाइन 510 –

+0

पर /var/www/html/magento1901/lib/Varien/Simplexml/Config.php में अपरिभाषित फ़ंक्शन simplexml_load_string() पर कॉल प्राप्त करें, मुझे एक अपरिचित सेवा त्रुटि मिली है। मैंने अभी apache2 को पुनरारंभ किया है और यह इस समस्या को ठीक करता है। सहायता के लिए थक्स PHP.ini –

1

मुझे लगता है कि इस पोस्ट में की तरह कुछ हो सकता है: Class 'SimpleXMLElement' not found on puphpet PHP 5.6 तो हो सकता है आप को स्थापित कर सकता/सक्रिय करें

php-xml or php-simplexml 

मत भूलना php.ini फ़ाइल में पुस्तकालयों को सक्रिय करें। (शीर्ष comment की तरह)

+0

के साथ बचाया यह भी [लिंक] (http://www.webdeveloper.com/forum/showthread.php?191658-RESOLVED-Fatal-error-Call-to-undefined समारोह-simplexml_load_file() और एस = 2a5f7a91ae737417b735ec83fbf17295 और पी = 932,942 # post932942) –

संबंधित मुद्दे