1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

RSS-Feed nicht valide durch Leerzeile

Dieses Thema im Forum "Installation" wurde erstellt von jayzon277, 4. April 2008.

  1. jayzon277

    jayzon277 Member

    Registriert seit:
    1. April 2008
    Beiträge:
    11
    Zustimmungen:
    0
    Hallo!

    Seit dem Upgrade auf WP 2.5 habe ich scheinbar ein (kleines) Problem mit meinem RSS-Feed: Aus unerklärlichen Gründen gibt WordPress zu Beginn der XML-Datei eine Leerzeile aus.

    Ich benutze das FeedBurner-Plugin, hab aber auch ohne das Plugin das Problem. Also scheint der Fehler bei der Verarbeitung durch Wordpress aufzutreten. Da wird wohl aus Versehen eine Leerzeile hinzugefügt. Bei mir im Feedreader ist das wohl kein Problem, aber einige Browser geben ne fiese Fehlermeldung raus. Und Google mag mich seitdem scheinbar auch nicht mehr, meine letzten Einträge sind nicht (wie sonst eigentlich üblich) in der Blogsuche gelistet. Hat jemand einen Lösungsvorschlag? :confused:
     
  2. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Die Leerzeile ist nicht nur im Feed, sie ist auch auf der normalen Seite. Ich denke, Du hast die Leerzeile in der wp-config.php vor dem öffnenden <?php oder nach dem schließenden ?> drin.

    Gruß
    Ingo
     
  3. jayzon277

    jayzon277 Member

    Registriert seit:
    1. April 2008
    Beiträge:
    11
    Zustimmungen:
    0
    Jetzt wird's richtig interessant:
    Weder in der wp-config.php noch in der header.php oder in der index.php ist eine Leerzeile zu finden. In den Standard-Wordpress-Dateien habe ich nichts geändert, die habe ich ja auch gerade erst in der 2.5-Version neu hochgeladen. Woran könnte es denn jetzt noch liegen? Die drei Dateien sind die einzigen, die mir als mögliche Fehlerquellen einfallen :|
     
  4. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Unter Umständen ist eines deiner Plugins selbst dafür verantwortlich, weil durch pures Vorhandesein (aktiv geschaltet) bereits bei der Initialisierung der WP Core's, noch bevor der Feed ausgegeben wird, das Plugin was ausgibt.

    ... und noch was, dein Blog liefert Ansi encodierte Feeds aus, obwohl im Feed steht, er wäre UTF-8 Unicode.
    Du hast mit Sicherheit ein altes Ansi Blog (iso-latin-1) nicht korrekt auf Unicode laufen.
    Wenn du auf Ansi bleiben willst (musst) stell das in der wp-config ein.
    Oder bring alles auf Unicode.
     
    #4 codestyling, 5. April 2008
    Zuletzt bearbeitet: 5. April 2008
  5. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Ich denke schon, daß es die wp-config.php ist. Wenn man diese direkt aufruft, wird die Leerzeile ausgegeben. Ruft man dann die von der wp-config.php geladene wp-settings.php (diese lädt dann die Plugins und alles weitere) auf, kommt keine Leerzeile. Wenn ich jetzt keinen großen Denkfehler gemacht habe, kommt deshalb nur die wp-config.php als Ursache in Frage.
    Kommando zurück, doch ein Denkfehler :)
    Wenn ich die wp-settings.php direkt aufrufe, bricht PHP an der Stelle ab, wenn das erste mal ABSPATH benötigt wird und kommt damit gar nicht mehr bis zu den Plugins. Schade, ich dachte so könnte man den Fehler einkreise.

    Gruß
    Ingo
     
    #5 Putzlowitsch, 5. April 2008
    Zuletzt bearbeitet: 5. April 2008
  6. jayzon277

    jayzon277 Member

    Registriert seit:
    1. April 2008
    Beiträge:
    11
    Zustimmungen:
    0
    Es wird immer seltsamer:

    1. Ich hab im Blog UTF-8 als Zeichensatz eingestellt, das wird ja auch im HTML-Quelltext ausgegeben. Auch in der wp-config.php ist UTF8 angegeben. Wo könnte denn iso-latin-1 eingestellt sein? Kann mich nicht erinnern, das irgendwann irgendwo eingestellt zu haben!? Macht FeedBurner da evtl. irgendwas?
    2. Hab mal alle Plugins deaktiviert, keine Änderung bei der Leerzeile. Die wp-config.php hab ich gestern nochmal angeschaut, da ist todsicher keine Leerzeile im Quellcode.
    Was ist das denn bloß? Ich versuch mal, die Dateien neu hochzuladen, vielleicht klappt's ja dann!?
     
  7. jayzon277

    jayzon277 Member

    Registriert seit:
    1. April 2008
    Beiträge:
    11
    Zustimmungen:
    0
    Hm, hab nochmal versucht, die Dateien neu hochzuladen. Das hat nichts gebracht.

    Ich fasse nochmal zusammen:
    • Das Problem liegt nicht beim RSS-Feed, sondern beim allgemeinen Seitenaufbau - auch die normale Seite hat eine Leerzeile, die dann einfach im Feed übernommen wird. Bei der HTML-Seite ist die Leerzeile irrelevant, der Feed hingegen wird dadurch invalide.
    • An den WP-Dateien kann es nicht liegen, da diese ja bei anderen Blogs problemlos funktionieren (hab bei zwei Blogs geschaut, von denen ich bei einem selbst das Upgrade durchgeführt hab).
    • Das Deaktivieren aller Plugins brachte kein Ergebnis. Hab auch vorsichtshalber mal den Cache deaktiviert (Safari & Firefox), was allerdings auch nichts geändert hat.
    • Das Theme (insbesondere die header.php sowie die index.php) enthält die Leerzeile nicht.

    Jetzt bin ich wirklich mit meinen Latein am Ende. Ich will unbedingt wieder einen validen Feed haben. Das Problem ist mit dem Update auf WP 2.5 aufgetreten, vorher habe ich jedenfalls kein Problem mit dem Feed bemerkt. Hat irgendjemand irgendeine Idee, wie ich das beheben könnte? Mir würde mittlerweile schon der Code genügen, mit dem ich die rss.php (oder welche Datei auch immer) erweitern müsste, um die Leerzeile zu entfernen :?
     
  8. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Ich kann es verstehen, das alles so sein sollte, wie gedacht.
    Nur leider ist das ziemlich schwierig, wenn man keinen Zugriff auf das System hat :D

    Folgende Fragen hab ich noch:
    1. Gibt es dein Theme irgendwo zum Runterladen ?
    2. [del]Gibt es in deinem Theme ein Feed Template ?[/del]
    3. Hast du außer den Theme Dateien irgendwelche Dateien verändert ?
    4. Hast du unter Einstellungen -> Verschiedenes "Die veraltete my-hacks.php-Datei unterstützen." angehakt ?
    Wenn alles so ist, wie du zusammengefasst hast, dann bleibt ja fast nur das Theme oder die my-hacks.php übrig.
     
    #8 codestyling, 5. April 2008
    Zuletzt bearbeitet: 5. April 2008
  9. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Es gibt Feed-Templates? Wie sieht denn sowas aus?

    Gruß
    Ingo
     
  10. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Uups. Das ist doch gar nicht in der offiziellen Version drin.
    Ist einer meiner Beta Erweiterungen von WP, die dazu da ist, erweiterte Analysen des Abholers der Feeds zu machen und bestimmte IP's, Useragents und sonstiges ggf. mit "speziellen" oder gar keinen Inhalten zu versorgen.

    Ich editier mal schnell die Punkteliste :oops:
     
    #10 codestyling, 5. April 2008
    Zuletzt bearbeitet: 5. April 2008
  11. jayzon277

    jayzon277 Member

    Registriert seit:
    1. April 2008
    Beiträge:
    11
    Zustimmungen:
    0
    Das Theme gibt's nicht zum Download, kann es dir aber gerne als ZIP-Datei schicken. Ich hab da die Tage noch ein wenig mit Image Replacement für diverse Überschriften gespielt, allerdings nachdem das Problem aufgetreten ist. Daran liegt es also definitiv auch nicht.

    Feed Template? ;)

    Als vernünftiger User habe ich natürlich alles so gelassen, wie es sein soll :)

    Das mit der my-hacks.php hab ich nie verstanden & auch nie angehakt. Davon hat mich das "veraltet" immer (zu Recht?) abgehalten.

    Ach ja: Danke schon mal für die bisherige Hilfe!
     
  12. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Hab's nachgestellt !
    Wenn ich in meiner wp-config.php nach dem letzten ?> 2 Zeilenumbrüche mache, bekommen ich genau die 1 Leerzeile vor dem DOCTYPE, die du auch in deinen Webseiten hast.

    Also schau mal deine php Dateien durch, ob die am Ende nach dem letzten ?> Zeilenumbrüche haben. Ein Umbruch hat nicht gereicht aber 2 :mrgreen:
     
  13. jayzon277

    jayzon277 Member

    Registriert seit:
    1. April 2008
    Beiträge:
    11
    Zustimmungen:
    0
    Hab mal einfach alle Leerzeilen aus den php-Dateien gelöscht. Code-Lesbarkeit ist was anderes, aber darum geht's ja nicht. Jetzt ist die Leerzeile im HTML-Code verschwunden, keine Ahnung, wo genau der Fehler lag. Aber: Er ist weg :mrgreen: Der Feed ist zwar noch nicht valide, aber das liegt denke ich daran, dass Feedburner den nicht sofort aktualisiert, dürfte also innerhalb der nächsten Minuten wieder passen.

    Schön, dass alles klappt, aber: Wie verrückt war das denn bitte? Man muss doch Leerzeilen setzen können, wie man will, um wenigstens halbwegs die Lesbarkeit des Codes zu gewähren. Na ja, hauptsache es geht wieder! Danke!!!
     
  14. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Ja, aber nur innerhalb von <?php ?> allerdings dann so viel du willst.
    Aber alles, was außerhalb davon in einer php Datei steht, wird so wie es dasteht an den Browser (Client) geschickt.

    Deshalb findest du z.B. auch in manchen Templates erst normalen HTML, dann ein paar PHP Anweisungen und wieder HTML.
    Das ist so gemeint und soll per Design so funktionieren in der PHP Welt :D
     
    #14 codestyling, 5. April 2008
    Zuletzt bearbeitet: 5. April 2008
  15. gxkx

    gxkx New Member

    Registriert seit:
    28. Februar 2008
    Beiträge:
    4
    Zustimmungen:
    0
    Noch eine Ergänzung, weil´s mir auch schon passiert ist. Angenommen eine PHP-Datei im Plugin oder Theme beginnt so:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Für PHP ist es richtig, vor dem "es" zwei(!) Leerzeilen auszugeben. Falsch ist es, wenn diese Leerzeilen beim Browser vor dem <!DOCTYPE ...> ankommen.

    Zum zweiten: Manche Editoren scheinen manchmal nach dem letzten ?> noch leerzeilen einzufügen. Im ergebnis kommen dann noch Zeilen nach dem "was". Bei mir gehört wordpad zum kreis der üblichen Verdächtigen.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden