Nefunguje RSS – Chyba parsování XML

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Nefunguje RSS – Chyba parsování XML

Zvolené téma obsahuje celkem 18 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel  lucky.man a poslední změna je stará 11 let, 5 měsíců.

Aktuálně je na stránce zobrazeno 19 příspěvků - 1. až 19. (z celkem 19)
  • Autor
    Příspěvky
  • #2327

    lucky.man
    Participant
    Web

    Ahoj, objevil se mi problém s nefunkčním RSS, feed vypisuje chybu, ale ve čtečkách normálně funguje. Poradí někdo?

    Chyba parsování XML: Na začátku externí entity chybí procesní instrukce xml

    Adresa: http://www.tvspoty.cz/feed/

    Řádek 3, sloupec 1:<?xml version=”1.0″ encoding=”UTF-8″?>

    ^

    #13039

    Lukenzi
    Participant

    prázdný řádek před XML výstupem…klidně i v nějakém PHP souboru. Asi by bylo nejvhodnější si vzpomenout co za změny proběhly před zjištěním této chyby. Nějaké nové pluginy? Hrátky s nastavením některých již používaných pluginů? Dost často to způsobí i automatické vkládání “něčeho” do RSS feedu – umožňují to některé pluginy (mě takhle rozbil rss kanál například plugin pro Flattr).

    EDIT: aktualizoval bych WP

    #13040

    lucky.man
    Participant
    Web

    Jestli za to může plugin, tak na něj nepřijdu, může to trvat už dost dlouho. Přišel jsem na to vlastně náhodou, protože ve čtečce je všechno OK. V každém případě by to byl plugin jen na zkoušku a je pravděpodobně mimo provoz, protože jsem poměrně dlouho nic nového nepřidal (kromě aktualizací). Naposledy jsem zkoušel pluginy pro sdílení na soc. sítích.

    Takže co s tím? :)

    #13041

    Lukenzi
    Participant

    No kanál ale nefunguje, alespoň mně přidat nejde.

    1) zkusil bych vypnout kešování RSS kanálu (dělá to plugin WP-Super-Cache) určitě tam bude nějaké zaškrtávatko.

    2) zkontroloval bych pluginy wp-comment-master, sociable a socialize zda něco nevkládají do RSS kanálu pokud ano vypnul bych to.

    3) aktualizoval bych WP, v současné verzi obsahuje min. 2 bezpečnostní chyby v určitých případech umožňující vytvoření například administrátorského účtu.

    Pak už pravděpodobně pouze podrobná prohlídka, případně deaktivace všeho a postupné nahazování, což tuším bude při tvé návštěvnosti trochu problém :)

    #13042

    lucky.man
    Participant
    Web

    Kanál teď přidat nejde, ale když už ho máš ve čtečce tak funguje, proto jsem na to nepřišel hned. Vyzkouším co půjde a uvidíme.

    P.S. Nevím jak je na tom čeština pro aktualizaci…

    #13043

    lucky.man
    Participant
    Web

    Tak bohužel zatím bez úspěchu. V nastavení pluginů nic aktivního do feedu nebylo (nebo jsem to nenašel), zkusil jsem je i deaktivovat a nic.

    Dá se nějak přijít na to kde je konkrétně problém než metodou pokus-omyl s vypínáním pluginů?

    #13044

    lucky.man
    Participant
    Web

    Nepomohlo ani postupné vypínání pluginů, ale změna tam je http://www.tvspoty.cz/feed/

    Nějaký nápad co dál s tím?

    #13045

    Lukenzi
    Participant

    Soubor wp-config.php neobsahuje prázdné řádky? Tedy na začátku před <?php a na konci za ?>?

    Pokud ne tak je ještě jedna možnost, ale ta neodstraní příčinu pouze vyřeší problém…

    #13046

    lucky.man
    Participant
    Web

    Před <?php není nic, ale s ?> nemohu sloužit, nenašel jsem…

    #13047

    Lukenzi
    Participant

    tak zkus tohle (poslední možnost), konkrétně u tebe mi to funguje :)

    #13048

    lucky.man
    Participant
    Web

    Myslíš použít “poslední řešení” a vytvořit PHP soubor rss.php?

    #13049

    Lukenzi
    Participant

    ano, vyřešilo mi to i výše zmíněný problém s flattrem

    #13050

    lucky.man
    Participant
    Web

    Tak to funguje tak napůl. :)

    Samotný rss.php je snad v pohodě viz http://www.tvspoty.cz/rss.php. Ale např. v Chrome se zobrazuje dost podivně.

    A nefunguje mi podstrčení za feed v .htaccess. Když použiji RewriteRule feed rss.php [L] jak máš uvedené, nějak to zacyklí web (načítá se, ale nic nezobrazí).

    #13051

    Lukenzi
    Participant

    no funguje to docela divně, chrome mi vezme v pohodě i původní tvspoty.cz/feed (ale používám nějaké rozšíření) zatímco firefox vyhodí chybu. Pokud zkusím tvspoty.cz/rss.php tak je to přesně naopak, firefox problém nemá, ale chrome nepochopí, že to je XML.

    Asi to vyřeší přidání hlavičky

    header ("content-type: text/xml");

    na začátek souboru rss.php

    Co se týče htaccess souboru, pokud to vložíš na začátek hned za RewriteBase nic se cyklit nemůže (kvůli tomu tam je taky to [L]). Když tak mi pošli obsah htaccess souboru, já to zkoušel s výchozím souborem automaticky vytvořeným WordPressem a fungovalo to bez problémů.

    #13052

    admin
    Keymaster
    Web

    lucky.man: Lukenzi na to jde sice chytře, ale zkusil bych to raději vyřešit přímo na straně WordPressu. Zkus ještě na chvilku aktivovat nějakou výchozí šablonu (např. Twenty Eleven), občas se objevuje problém i s nějakými upravovanými soubory šablony (např. functions.php). Pokud je aktivní výchozí šablona a deaktivované všechny pluginy, tak už musí být problém pouze v souboru wp-config.php.

    P.S. Nakonec jsem našel nějaké staré přístupy na tento web a dovolil jsem si to opravit :-) Problém byl v souboru functions.php v adresáři aktuálně používané šablony. Soubor nekončil správně, respektive za ukončovací značkou pro PHP ?> bylo ještě několik prázdných řádků (jak zmiňoval Lukenzi výše u souboru wp-config.php). Nechal jsem tam jako ukázku i původní soubor na ukázku, který jsem přejmenoval na functions-old.php (po prohlédnutí prázdných řádků na konci souboru prosím smazat).

    #13053

    Lukenzi
    Participant

    No a to je právě ten problém…Feed Validator to sice prohlasí za OK, Google Reader taky kanál vezme bez problémů, ale pokud to zkusím ve Firefoxu dostanu chybu, stačí se totiž podívat na zdrojový kód RSS a uvidíme na začátku 2 prázdné řádky.

    To jednoduše znamená, že chyba tam stále nějaká je v nějakém jiném souboru. proto jsem chtěl použít moje řešení aby jsme nemuseli prohledávat všechny někdy v minulosti změněné soubory.

    #13054

    admin
    Keymaster
    Web

    Lukenzi: Validátor také před opravou uváděl dva prázdné řádky. Zkoušel jsem teď i Firefox a také už bez problémů funguje. Možná je ve Firefoxu aktivní cachování feedů a načítá se původní verze z paměti?

    #13055

    Lukenzi
    Participant

    admin: máš pravdu zkoušel jsem to jako http://tvspoty.cz/feed/?c a už to funguje klasická URL http://tvspoty.cz/feed/ mi pořád hlásí to samé…

    Takže problém je už pravděpodobně vyřešen?

    #13056

    lucky.man
    Participant
    Web

    Je to funkční, functions.php se mi zřejmě podařilo pokazit, když jsem doplňoval funkci pro vyhledávání, resp. řazení výsledků. Což mimochodem znamená, že feed byl nefunkční poměrně dlouho (cca 2 měsíce) a přišel jsem na to až teď. Právě proto, že už přidaný kanál se mi ve čtečce dál zobrazoval správně, jenom nešel nově přidat.

    Jinak moc díky za pomoc oběma, příště k deaktivaci pluginů ještě přidám výchozí šablonu, ta by to teď měla odhalit a mohlo být jasno.

Aktuálně je na stránce zobrazeno 19 příspěvků - 1. až 19. (z celkem 19)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti