Ich implementiere die Facebook-Zählfunktion mit einer Cron-Datei. In welchem Cron alle 10 Minuten ausgeführt wird und die Gesamtzahl der Likes einer Seite gezählt wird.
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);
}
Aber ich bekomme einen undefinierten Aufruffunktionsfehler.
php-xml
Modul installiert und aktiviert?Antworten:
Für PHP 7 und Ubuntu 14.04 wird wie folgt vorgegangen. Da PHP 7 nicht in den offiziellen Ubuntu-PPAs enthalten ist, haben Sie es wahrscheinlich über Ondřej Surýs PPA (sudo add-apt-repository ppa: ondrej / php) installiert. Gehen Sie zu /etc/php/7.0/fpm und bearbeiten Sie die php.ini. Kommentieren Sie die folgende Zeile aus:
Dann installieren Sie einfach php7.0-xml:
Und starten Sie PHP neu:
Und starten Sie Apache neu:
Wenn Sie eine spätere Ubuntu-Version verwenden, in der PHP 7 enthalten ist, ist die Vorgehensweise höchstwahrscheinlich auch dieselbe (außer das Hinzufügen eines Repositorys eines Drittanbieters).
quelle
Wenn das XML-Modul nicht installiert ist, installieren Sie es.
Aktuelle Version 5.6 unter Ubuntu 14.04:
Zulhilmi Zainudi
quelle
sudo service apache2 restart
Kommando danachIch habe mich auch diesem Problem gestellt. Mein Betriebssystem ist Ubuntu 18.04 und meine PHP-Version ist PHP 7.2 .
So habe ich es gelöst:
Installieren Sie Simplexml auf Ihrem Ubuntu Server:
Starten Sie Apache Server neu
Das ist alles.
ich hoffe das hilft
quelle
Ich denke, es kann so etwas wie in diesem Beitrag sein: Klasse 'SimpleXMLElement' nicht auf puphpet PHP 5.6 gefunden. Vielleicht könnten Sie es installieren / aktivieren
Vergessen Sie nicht, die Bibliotheken in der Datei php.ini zu aktivieren . (wie der oberste Kommentar )
quelle
Stellen Sie sicher, dass Sie das PHP-XML-Modul installiert und aktiviert haben
php.ini
.Sie können das Antwortformat auch in json ändern, was einfacher zu handhaben ist. In diesem Fall müssen Sie nur die
&format=json
URL-Abfragezeichenfolge hinzufügen .Und dann verwenden Sie
json_decode()
, um Daten in Ihrem Skript abzurufen:quelle
So beheben Sie diesen Fehler auf Centos 7 :
Installieren Sie die PHP-Erweiterung:
sudo yum installiere php-xml
Starten Sie Ihren Webserver neu. In meinem Fall ist es php-fpm :
Dienste php-fpm Neustart
quelle
Für Nginx (ohne Apache) und PHP 7.2 reichte die Installation von php7.2-xml nicht aus. Musste das Paket php7.2-simplexml installieren, damit es funktioniert
Also die Befehle für debian / ubuntu, Pakete aktualisieren und beide Pakete installieren
Und starten Sie sowohl Nginx als auch PHP neu
quelle