Le serveur est mort, vive Wordpress !!!

Depuis plusieurs semaines déjà notre serveur accusait quelques plantages avec des processus apache faisant tourner notre CPU à 100%. « incredible!!! »

Comme de bien entendu, tous le monde se jette alors sur l’admin réseau (c’est à dire moi :-p) et là… impossible de trouver d’où vient exactement le problème :-S sinon que l’on suspecte très fortement notre propre blog O2Sources !

Après cent mille recherches sur Google (avec ma phrase fétiche du jour « apache wordpress problem cpu charge ») et de long brain storming au sein de notre team, nous avons non seulement identifié le problème mais nous l’avons aussi corrigé, YESSS !

À l’installation du blog l’erreur suivante était très probablement survenue :

Warning: unpack() [function.unpack]: Type V: not enough input, need 4, have 0 in … /wp-includes/gettext.php on line 91
Warning: unpack() [function.unpack]: Type V: not enough input, need 4, have 0 in … /wp-includes/gettext.php on line 91
Fatal error: Maximum execution time of 30 seconds exceeded in … /wp-includes/streams.php on line 84

Et le mauvais réflexe premier fut forcement de mettre la commande suicide dans le .htaccess :

php_value max_execution_time 540

Et là c’est le drame, la tuerie de notre pauvre serveur Atlas a commencé. :’-(

Mais le problème était autre et il suffisait de couper les magic_quotes_runtime car elles empêchent le bon fonctionnement de la fonction unpack sous les dernières versions de PHP5.

En parcourant les forums j’ai aussi trouvé une autre commande qui ne mange pas de pain et je l’ai mise aussi dans mon .htaccess au cas où…

Donc si vous avez le même problème que nous avec Wordpress, placez les lignes suivantes dans votre .htaccess :

php_flag magic_quotes_runtime Off

Et voilà 3 heures de perdues pour (presque) rien !

Mots-clefs : , , ,