2011-01-04 7 views
1

Ich versuche, einen WordPress-RSS-Feed von PHP zu parsen. Das Folgende funktioniert gut auf meinem lokalen Server, aber nicht mit dem Host, auf dem sich meine Site befindet.Wordpress RSS mit PHP parsen: I/O-Warnung: externe Entität konnte nicht geladen werden


$url = "../blog/feed/"; $rss = simplexml_load_file($url);

foreach ($rss->channel->item as $item) { //Do stuff
}

jedoch auf dem Server meiner Website gehostet wird, erhalte ich die Fehlermeldung „E/A-Warnung: failed externe Einheit laden“

Interessanterweise, obwohl, wenn ich manuell den RSS speichern Datei als XML-Datei und zeigen Sie auf diese Datei, alles funktioniert gut. Obwohl ich die XML-Datei nach jedem Post manuell speichern und hochladen könnte, würde ich sie lieber automatisieren.

Ich schätze wirklich Ihre Zeit. Ich werde wahrscheinlich danach mit dem Gastgeber darüber reden.

Antwort

2

Ich nehme an, ../blog/feed/ soll auf eine URL zeigen (die wahrscheinlich von mod_rewrite umgeschrieben wird).

Wenn Sie einen relativen Pfad innerhalb des Skripts verwenden, werden diese als physische (Dateisystem-) Pfade behandelt, die sich auf den Pfad des Skripts beziehen und nicht auf die URL, die im Browser aufgerufen wird.

Angabe einer vollständigen URL beginnend mit http:// sollte helfen.

+0

Ich würde die http: // verwenden, aber es gibt eine Server-Konfiguration, die ich nicht die Befugnis habe, dies zu ändern. "URL-Dateizugriff ist in der Serverkonfiguration deaktiviert". Ich vermute, dass es in gewisser Weise relativ sein muss. Das Seltsame ist, wenn ich manuell eine XML-Datei in das gleiche Verzeichnis und verwenden Sie das, es funktioniert. So ../blog/rss.xml funktioniert. Aber ich möchte lieber nicht manuell aktualisieren. –

+0

@Joseph dann müssten Sie den richtigen Dateipfad finden, um zu verwenden. Wie gesagt, '/ blog/feed' ist eine virtuelle URL, sie existiert nicht auf Dateisystemebene. Es könnte eine separate Frage wert sein, um herauszufinden, dass –

+0

@Joseph auch überprüfen, ob diese Antwort hilft, eine andere Route zu gehen http://StackOverflow.com/Questions/2055725/pull-Data-from-Wordpress/2056058#2056058 –