Zum Inhalt springen

RSS einbinden


Unknowen

Empfohlene Beiträge

Hallo,

ich möchte ein RSS-Feed in meine Homepage einbinden, aber aus irgend einem Grund mag das nicht funktionieren. Habe bereits einige verschiedene Skripte ausprobiert (und mich daran gewagt, die Fehler jeweils zu beseitigen), habe aber keines zum Laufen gebracht. :(

Diese habe ich beispielsweise ausprobiert:

- magpierss-0.72

- rdfrssNoDomReader

- Advanced RSS Ticker

Wie gesagt hat keines davon funktioniert. Frage mich, woran das liegen kann -schließlich gehen die Sktripte ja bei anderen auch. :hells:

Von den hier aufgelisteten würde ich am liebsten letzteres umsetzen. Habe auch gleich ein Bild mit dem entsprechenden Fehler eingefügt. Das Problem liegt immer daran, dass das RSS-Feed 'nicht erreicht' werden kann. Welche Ursachen kann das haben?

EDIT: Das Bild zeigt das Ergebnis, wenn ich die Dateien unverändert lasse.

post-48820-14430448009315_thumb.jpg

Bearbeitet von Unknowen
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ich möchte ein RSS-Feed in meine Homepage einbinden, aber aus irgend einem Grund mag das nicht funktionieren. Habe bereits einige verschiedene Skripte ausprobiert (und mich daran gewagt, die Fehler jeweils zu beseitigen), habe aber keines zum Laufen gebracht. :(

Diese habe ich beispielsweise ausprobiert:

- magpierss-0.72

- rdfrssNoDomReader

- Advanced RSS Ticker

Wie gesagt hat keines davon funktioniert. Frage mich, woran das liegen kann -schließlich gehen die Sktripte ja bei anderen auch. :hells:

Von den hier aufgelisteten würde ich am liebsten letzteres umsetzen. Habe auch gleich ein Bild mit dem entsprechenden Fehler eingefügt. Das Problem liegt immer daran, dass das RSS-Feed 'nicht erreicht' werden kann. Welche Ursachen kann das haben?

EDIT: Das Bild zeigt das Ergebnis, wenn ich die Dateien unverändert lasse.

Also...

Dass die Dateien nicht eingelesen werden können, könnte an der PHP einstellung liegen, denn solche Dateien werden normal per fopen geöffnet. Da es sich hierbei um eine URL handelt, könnte es sein, dass in der php.ini die Option "allow_url_fopen = Off" bei dir eingestellt ist.

Also einfach mal phpinfo() anzeigen lassen, oder direkt in die php.ini reinsehen.

Wenn es daran nicht liegt, muss ich mir wirklich mal die files ansehen ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also...

Dass die Dateien nicht eingelesen werden können, könnte an der PHP einstellung liegen, denn solche Dateien werden normal per fopen geöffnet. Da es sich hierbei um eine URL handelt, könnte es sein, dass in der php.ini die Option "allow_url_fopen = Off" bei dir eingestellt ist.

Also einfach mal phpinfo() anzeigen lassen, oder direkt in die php.ini reinsehen.

Wär ja auch zu schön gewesen... ^^

Directive: allow_url_fopen

Local Value: On

Master Value: On

Wenn es daran nicht liegt, muss ich mir wirklich mal die files ansehen ;)

Müssen tust du nicht, aber es wäre äußerst nett. ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wär ja auch zu schön gewesen... ^^

Directive: allow_url_fopen

Local Value: On

Master Value: On

Müssen tust du nicht, aber es wäre äußerst nett. ;)

Also ich hab nun mal "Advanced RSS Ticker" ausprobiert. Die Fehlermeldung die du als Bild gepostet hast kommt bei mir NUR wenn ich url_fopen auf Off setze.

Wenn ichs danach jedoch wieder auf On stelle bleibt diese, bist ich die Dateien im Ordner "cache" gelöscht habe.

Man sollte vielleicht noch ein kleines Script einfügen, welche die cache Dateien löscht :D

EDIT:

Um das caching zu deaktivieren musst du die Datei bridge.php abändern (ziemlich weit oben):

$rss->cache_dir = 'cache';

auf

$rss->cache_dir = '';

setzen.

Danach liest er immer direkt.

Bearbeitet von Tweetymax
Link zu diesem Kommentar
Auf anderen Seiten teilen

schließlich gehen die Sktripte ja bei anderen auch. :hells:

...sagte ich ja. :(

Kann man den Cache nicht auch löschen, indem man strg + F5 drückt? Habe auch mal den gesamten Browserverlauf gelöscht usw., geht aber trotzdem nicht.

..wie würde ein solches Skript aussehen? (nur, falls es jetzt nicht zu aufwändig für dich ist) Sorry - ich kenn mich da nicht so aus. ^^

Kann es eventuell auch an einer anderen php-Einstellung liegen? Bei mir steht das sicher auf "On", deswegen versteh ich´s nicht so ganz, warum das nicht klappt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kann man den Cache nicht auch löschen, indem man strg + F5 drückt? Habe auch mal den gesamten Browserverlauf gelöscht usw., geht aber trotzdem nicht.

Du kennst aber den Unterschied zwischen deinem Browser (lokal auf deinem Rechner) und PHP (auf dem Server, der vielleicht auch lokal bei dir läuft, aber dennoch nichts mit dem Browser zu tun hat)?

Link zu diesem Kommentar
Auf anderen Seiten teilen

...sagte ich ja. :(

Kann man den Cache nicht auch löschen, indem man strg + F5 drückt? Habe auch mal den gesamten Browserverlauf gelöscht usw., geht aber trotzdem nicht.

Das hat nichts mit dem Browsercache zu tun.

Das Script an sich hat einen Ordner cache im ordner lastrss, wo er bereits eingelesene Feeds speichert. Wenn diese jedoch nicht gelesen werden konnten, dauert es einige Zeit, bis er diese neu erstellt.

Und die Dateien, die sich in diesem Ordner befinden, die sollst du mal löschen ;)

Andere Frage, wenn dies auch nicht funktioniert:

WO (auf welchem Webserver) läuft das Script? Bei dir lokal, oder auf einem öffendlichem Webserver?

Bearbeitet von Tweetymax
Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kennst aber den Unterschied zwischen deinem Browser (lokal auf deinem Rechner) und PHP (auf dem Server, der vielleicht auch lokal bei dir läuft, aber dennoch nichts mit dem Browser zu tun hat)?

...hmmm, da könnte was dran sein. ^^ Eigentlich logisch, danke. ;)

Das hat nichts mit dem Browsercache zu tun.

Das Script an sich hat einen Ordner cache im ordner lastrss, wo er bereits eingelesene Feeds speichert. Wenn diese jedoch nicht gelesen werden konnten, dauert es einige Zeit, bis er diese neu erstellt.

Und die Dateien, die sich in diesem Ordner befinden, die sollst du mal löschen ;)

Der Ordner ist bereits leer. :/

Andere Frage, wenn dies auch nicht funktioniert:

WO (auf welchem Webserver) läuft das Script? Bei dir lokal, oder auf einem öffendlichem Webserver?

Auf einem öffentlichen Webserver.

Link zu diesem Kommentar
Auf anderen Seiten teilen

könntest du da vielleicht mal eine Datei drauf legen, welche die phpinfo() anzeigt?

weil momentan komm ich nicht mehr weiter... lokal hätte es eventuell noch sein können, dass eine Firewall den zugriff blockt, aber so muss ich nun wirklich erstmal nachsehen, wo noch der knackpunkt sein könnte.

Url zu dem webserver kannst du gerne per PM schicken, wenn du sie nicht öffentlich machen möchtest.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ok dann ein anderes vorgehen:


<?php
error_reporting(E_ALL);
$f = fopen('http://www.google.de', 'r');
$inhalt = '';
while (!feof($f)) {
$inhalt .= fgets($f, 4096);
}
fclose($f);
echo $inhalt;
?>
[/PHP]

Stell mal ein Script mit diesem Inhalt auf die webseite, ruf es auf, und sag mir, welche Fehlermeldung und / oder Warnung du bekommst.

und keine Angst, es wird nur versucht den HTML-Quelltext von google.de einzulesen und dann auszugeben. Wenn es nicht geht, sollte eine Fehlermeldung kommen.

[b]EDIT:[/b]

überprüf mal die Berechtigungen die auf dem Ordner cache liegen, da hier ja Dateien erstellt werden, und setz hier mal auf chmod(777) -> schreiben und lesen für alle ist am wichtigsten... bin aber grad zu faul nachzusehen, welcher wert für was zuständig war ;)

Bearbeitet von Tweetymax
Link zu diesem Kommentar
Auf anderen Seiten teilen

Stell mal ein Script mit diesem Inhalt auf die webseite, ruf es auf, und sag mir, welche Fehlermeldung und / oder Warnung du bekommst.

[B]Warning:[/B] fopen(http://www.google.de): failed to open stream: Connection refused in .../demo.php on line 3


[B]Warning:[/B] feof(): supplied argument is not a valid stream resource in .../demo.php on line 5


[B]Warning:[/B] fgets(): supplied argument is not a valid stream resource in .../demo.php on line 6

Sieht mir fast´n bisschen nach ner Endlosschleife aus. ^^ Die beiden letzten Warnungen werden dann folgend immer wieder ausgegeben...

Also wird die Verbindung unterbunden? Aber wo? :o

überprüf mal die Berechtigungen die auf dem Ordner cache liegen, da hier ja Dateien erstellt werden, und setz hier mal auf chmod(777) -> schreiben und lesen für alle ist am wichtigsten... bin aber grad zu faul nachzusehen, welcher wert für was zuständig war ;)

War auf 755 (also alle Rechte, außer Schreiben für "Gruppen" und "Andere"). Funktioniert mit 777 aber aucht nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

[b]Warning:[/b] fopen(http://www.google.de): failed to open stream: Connection refused in .../demo.php on line 3

Diese Stelle ist der Knackpunkt... er kann aus irgend einem Grund keine Anfragen ins internet senden. Und genau hier komm ich ohne die Servereinstellungen nicht mehr weiter, da du ja sagtest, dass allow_url_fopen auf on steht.

Möglichkeiten könnten hier noch sein, dass fopen an sich in php deaktiviert ist (in der php.ini disable_functions) oder save_mode=on mit deaktivierter fopen... gibt viele möglichkeiten, aber um zu sehen, woran es nun wirklich liegt, müsste ich mir mal eine phpinfo ausgabe ansehen können. Kannst ja einen Screenshot machen und alles, was auf eure Domain hindeutet unkenntlich machen.

An sonsten bin ich hier leider am ende von dem, was ich raten könnte :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab das mal gemacht, hoffe die Infos reichen. ;)

ALSO....

ich habe eine gute, und eine schlechte Nachricht für dich....

zuerst die gute -> es liegt NICHT an der PHP einstellung :D

nun die schlechte -> trotzdem Blockt etwas den Zugriff von deinem Webserver ins internet.

Vermutung: Die Firewalleinstellung des Webservers

Und hier würde ich mich dann raushalten, denn von linux firewalls hab ich sowas von überhauptkeine Ahnung ;)

Aber wie gesagt... ist nur eine Vermutung, da ja nichtmal ein einfacher Filestream zu google geöffnet werden kann.

Tut mir leid, dass ich dir nicht mehr helfen konnte :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Appropo...

ich hab das Script mal ein wenig abgeändert, damit du keine endlosschleife bekommst, aber siehst, wenn es funktioniert...

ist zum testen auf jeden Fall besser als das gecachte rss Tool.


<?php
error_reporting(E_ALL);
$inhalt = '';
if ($f = fopen('http://www.google.de', 'r')) {
while (!feof($f)) {
$inhalt .= fgets($f, 4096);
}
fclose($f);
}
echo $inhalt;
?>
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Appropo...

ich hab das Script mal ein wenig abgeändert, damit du keine endlosschleife bekommst, aber siehst, wenn es funktioniert...

ist zum testen auf jeden Fall besser als das gecachte rss Tool.

Danke. Wird sich ja noch herausstellen - vielleicht brauche ich das Skript ja nochmal.

ALSO....

ich habe eine gute, und eine schlechte Nachricht für dich....

zuerst die gute -> es liegt NICHT an der PHP einstellung :D

nun die schlechte -> trotzdem Blockt etwas den Zugriff von deinem Webserver ins internet.

Vermutung: Die Firewalleinstellung des Webservers

Und hier würde ich mich dann raushalten, denn von linux firewalls hab ich sowas von überhauptkeine Ahnung ;)

Aber wie gesagt... ist nur eine Vermutung, da ja nichtmal ein einfacher Filestream zu google geöffnet werden kann.

Tut mir leid, dass ich dir nicht mehr helfen konnte :(

Dann bringt mir die gute Nachricht ja gar nichts. :rolleyes:

...trotzdem danke für deine Bemühungen und dass du dir die Zeit genommen hast. :)

Also wenn es nicht an dem Skript und auch nicht an den PHP-Einstellungen liegt, muss das ja (wie du gesagt hast) wohl etwas 'höheres' sein. Dann weiß ich jetzt wenigstens, dass ich daran nichts falsch gemacht hab. :D

Ich frag höchstens nochmal intern nach, ob das was mit der Firewall zu tun hat und wie man das beheben kann. Falls ich eine Lösung finde, werde ich sie hier nochmal posten.

Bearbeitet von Unknowen
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, also sollte wohl an der Firewall liegen.

Nun stellt sich mir die Frage, wie der Port für fopen() lautet. Den benötige ich, um anzufragen, ob dieser in der Firewall freigeschalten werden kann.

Hat fopen standardmäßig einen bestimmten Port? Oder wie finde ich diesen heraus?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, also sollte wohl an der Firewall liegen.

Nun stellt sich mir die Frage, wie der Port für fopen() lautet. Den benötige ich, um anzufragen, ob dieser in der Firewall freigeschalten werden kann.

Hat fopen standardmäßig einen bestimmten Port? Oder wie finde ich diesen heraus?

Er nimmt den Standard Port... sprich wenn er URL's aufruft sollte es 80 sein.

Daher vielleicht noch ein anderer Gedanke:

Könnte es sein, dass der Webserver hinter einem Proxy hängt, der bei HTTP Requests einen anderen Port benötigt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 7 Monate später...

Hallo nochmal,

ich wollte mich nur nochmal melden, dass es nun (wie bereits vermutet) an den Firewall-Einstellungen lag.

Das Problem wurde zwar schon seit geraumer Zeit gelöst, jedoch bin ich gerade auf den Link zu diesem Thread gestoßen und wollte die Lösung nur mal kurz posten. :)

Vielen Dank nochmal an alle, die mir geholfen haben und helfen konnten. =)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...