Problème de « header » en installant WordPress ?

A mon passage sous WordPress, au moment d’installer le moteur de blog sur le FTP de mon hébergeur, j’avais noté quelques dysfonctionnements bien embêtants. Globalement, le “header” ne pouvait pas être envoyé, ce qui est malheureusement une erreur assez courante en PHP. En bidouillant et en fouinant un peu, je suis parvenu à comprendre ce problème et à lui trouver une solution vraiment très très simple…

Avant tout, il est important de comprendre ce problème, et surtout comprendre ce qu’est un “header”. En PHP, il s’agit d’une instruction qui permet d’envoyer un entête HTTP. Il est souvent utilisé pour effectuer des redirections. Du coup, il est strictement interdit d’insérer des caractères (même vides) devant ce type d’instructions. Sans cela, vous vous tapez des erreurs vous indiquant que le “header” ne peut pas être envoyé et que vous êtes condamné à une torture éternelle.

Sauf que voilà, lorsque ce problème se pose à l’installation de WordPress et qu’on ouvre gentillement son fichier wp-config.php, on se rend très vite compte qu’il n’y a aucun caractère (même vide) avant ou après les instructions qui y figurent. Et c’est généralement sur ce genre de choses que l’on a tendance à se prendre la tête et à s’arracher les cheveux quelque chose de bien. D’ailleurs, c’est amusant à constater mais lorsque j’étais développeur, je me les rasais, mes cheveux, alors que maintenant, et bien ils poussent.

Bref, la solution est on ne peut plus simple et vient en réalité de l’encodage du fichier. Par défaut, celui-ci est effectivement encodé en UTF-8. Ce dernier a la facheuse tendance à ajouter quelque chose comme trois caractères au début du fichier, provoquant ce type d’erreurs. Pour résoudre le problème, il suffit d’ouvrir le fichier wp-config.php de WordPress avec un éditeur comme Notepad++, d’aller dans le menu “Format” et de sélectionner l’option “Encoder en UTF-8 (sans BOM)”.

Et là, après l’avoir enregistré et envoyé sur votre FTP, tout fonctionnera comme sur des roulettes.

Elle est pas belle, la vie ?

(Crédits Photo : Chergaoui)