WordPress 2.0.6 e le disconnessioni di Feedburner


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]

Hai qualche Domanda o vuoi Commentare?

8 commenti su “WordPress 2.0.6 e le disconnessioni di Feedburner

In 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 🙂

Reply

No 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 🙂

Reply

Io non rilevo segnalazioni di FeedBurner (2.0.6 e hosting DreamHost)

Reply

ho apportato le modifiche anche senza aver avuto il problema forse perchè uso il plugin feedburnar replacement ?

ciao

wolly

Reply

Steve .. grazie per le info , che ne dici lo rinominiamo WP 2.0.x LTS ? buon lavoro 😉

Reply

anche 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!

Reply

Ciao,

come si fa un resync del feed su feedburner”?

Reply

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Archivi

Categorie