Questo articolo fornisce una soluzione per WP 2.0.6 e le croniche disconnessioni di FeedBurner. Risulta fondamentale che aggiorniate WP alla versione 2.0.6 e che non aspettiate altre versioni perchà© il vostro blog potrebbe essere soggetto ad attacchi da parte di hacker! Aggiornatelo e quindi seguite queste istruzioni per risolvere questo piccolo problema con FeedBurner.
Il Problema
Dopo l’aggiornamento a WordPress 2.0.6 il vostro feed di FeedBurner potrebbe darvi spesso un messaggio di errore di “invalid xmlâ€? e “FeedMedicâ€? indicarvi una cosa del genere::
Your server disconnected us before sending the full source feed content. If your blogging platform is TextPattern, this is a known bug, and a fix can be found here: http://forum.textpattern.com/viewtopic.php?id=11247
Spiegazione
FeedBurner utilizza una cosa detta “Richiesta di Get Condizionaleâ€? per richiedervi se la pagina è o meno cambiata dopo l’ultima sua visita, il tutto per risparmiare banda e non scaricarla continuamente. In funzione di quanto è popolare il vostro sito FeedBurner può richiedere il feed centinaia di volte al giorno, quindi usare tale metodo è un’ottima idea! Sfortunatamente in WordPress 2.0.6 il vostro sito non risponde in un modo che FeedBurner riconosce. L’header 304 restituito per informarlo che il contenuto non è cambiato risulta malformato e corrotto e quindi FeedBurner non riesce ad interpretarlo correttamente..
Soluzione 1
Grazie a Mark Jaquith, vi è una piccola modifica che potete apportare al vostro codice per far si che funzioni correttamente. Questa piccola modifica verrà inserita nella versione di WordPress 2.0.7, quindi non preoccupatevi di apportare delle modifiche non corrette o insicure.
Aprire il file /wp-includes/functions.php e cercate il seguente codice:
if ( substr(php_sapi_name(), 0, 3) == ‘cgi’ )
@header("HTTP/1.1 $header $text");
else
@header("Status: $header $text");
}
Sostituite questo blocco di codice con il codice seguente che commenta le porzioni di codice causa del problema
// if ( substr(php_sapi_name(), 0, 3) == ‘cgi’ )
@header("HTTP/1.1 $header $text");
// else
// @header("Status: $header $text");
}
Salvate il file e quindi fate un resync del vostro feed su feedburner. Volendo è disponibile il file già corretto (fate click sulla grande icona in alto marcata “downloadâ€? … non fate un copia e incolla).
Soluzione 2
Se non ve la sentite di modificare il codice sorgente di WordPress potete creare uno script phph che restituisca il contenuto del vostro feed in maniera corretta FeedBurner. Dovete semplicemente copiare ed incollare il codice sottostante in un file sul vostro server. Quindi far puntare FeedBurner a questo file al posto del vecchio link ed è fatta. Solo ricordate: questo file non passa per la cache di FeedBurner e quindi verrà passato interamente ogni volta!
Create un file denominato FeedBurner.php, che contenga il seguente codice:
< ?php
$uri="http://neosmart.net/blog/feed/"; //Sostituite questa URL con la URL del *vostro* feed!!
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
echo curl_exec($ch);
$status = curl_close($ch);
?>
Mi raccomando aggiornate il vostro blog alla versione 2.0.6 indipendentemente da questo errore!!
[Libera traduzione del post da The NeoSmart Files]
8 commenti su “WordPress 2.0.6 e le disconnessioni di Feedburner”
camu
6 Gennaio 2007 at 20:17In effetti per me che ho l’hosting su TopHost il php_sapi_name restituisce proprio CGI, quindi ne ero “affetto” 🙂 Grazie per la soluzione… e speriamo che la 2.0.7 stavolta sia davvero l’ultima 🙂
SteveAgl
6 Gennaio 2007 at 20:28No la 2.0.7 non sarà l’ultima, il ramo 2.0.X è diventato un pacchetto ufficiale fra quelli gestiti dalla Debian per questo occorre garantire manutenzione per diverso tempo (anni), quindi ve ne saranno altre 🙂
PseudoTecnico
6 Gennaio 2007 at 20:42Io non rilevo segnalazioni di FeedBurner (2.0.6 e hosting DreamHost)
wolly
6 Gennaio 2007 at 23:57ho apportato le modifiche anche senza aver avuto il problema forse perchè uso il plugin feedburnar replacement ?
ciao
wolly
enore savoia
7 Gennaio 2007 at 12:47Steve .. grazie per le info , che ne dici lo rinominiamo WP 2.0.x LTS ? buon lavoro 😉
paolo
7 Gennaio 2007 at 16:02anche io come wolly uso il plugin feedburner feed replacement e non mi sembrava di avere problemi.
comunque ho fatto anche io la modifica,
grazie, soprattutto per avermi spronato a fare l’update di sicurezza!
Slowfinger
9 Gennaio 2007 at 00:10Ciao,
come si fa un resync del feed su feedburner”?
giavasan
11 Gennaio 2007 at 08:07Slowfinger:
http://monsterlippa.chiedere.info/2006/08/17/guida-a-feedburner-su-wordpress/