Úvodní stránka › Fórum podpory WordPressu › Problémy s WordPressem › Nefunguje RSS – Chyba parsování XML
Štítky: feed, functions.php, RSS, Validace, wp-config.php, 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ů.
-
AutorPříspěvky
-
18. října 2012 (14:21) #2327
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″?>
^
18. října 2012 (16:48) #13039prá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
18. října 2012 (17:35) #13040Jestli 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? :)
18. října 2012 (18:15) #13041No 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 :)
18. října 2012 (18:40) #13042Kaná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…
18. října 2012 (20:38) #13043Tak 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ů?
19. října 2012 (19:40) #13044Nepomohlo 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?
20. října 2012 (16:11) #13045Soubor 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…
20. října 2012 (18:14) #1304620. října 2012 (18:21) #1304720. října 2012 (18:57) #1304820. října 2012 (20:26) #13049ano, vyřešilo mi to i výše zmíněný problém s flattrem
20. října 2012 (21:20) #13050Tak 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í).20. října 2012 (22:10) #13051no 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ů.
21. října 2012 (9:40) #13052lucky.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).21. října 2012 (10:02) #13053No 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.
21. října 2012 (10:35) #13054Lukenzi: 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?
21. října 2012 (10:42) #13055admin: 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?
21. října 2012 (10:48) #13056Je 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.
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.