Wordpress : Le problème de surcharge CPU est résolu

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 !

9 Comments

  1. Le Thursday 18 September 2008 à 15h44, par Damien

    Bah pas perdues non vu que le problème est corrigé :)

  2. Le Thursday 18 September 2008 à 16h33, par Thanh

    Merci JSB :)

  3. Le Thursday 18 September 2008 à 17h13, par Xavier

    Moi j’adore WordPress, pas vous ? ;)

    Next step: à vot’ bon coeur sivôplé, http://trac.wordpress.org/timeline :)

  4. Le Sunday 28 September 2008 à 22h48, par Job

    Bonjour,

    J’ai un pb de plantage récurrent sur mon serveur dédié qui héberge plusieurs blogs wordpress, j’aurais voulu savoir si c’était dû au même problème que toi ?

    Me conseilles-tu d’essayer ton astuce sur le htaccess ?

    Merci ;)

  5. Le Monday 29 September 2008 à 09h49, par jsboyer

    @Job
    Salut,
    Je pense que tu es en plein dans le même problème que nous avons eu.
    Je n’ai pas eu le temps d’éditer un erratum mais on s’est aperçu que le problème survient de temps à autres même avec la solution ci-dessus. La manière radicale pour résoudre ce problème c’est de laisser les blogs Wordress en anglais le temps que les mises à jours des différents intervenants arrivent (Wordress ou PHP)…
    Good luck

  6. Le Tuesday 30 September 2008 à 12h56, par saint jean

    “la tuerie de notre pauvre serveur atlas a commence”, je n’ai pas out à fait saisi ce point précis.bà part cela, billet très intéressant, comme souven ! merci et cotninue !

  7. Le Wednesday 22 October 2008 à 21h22, par centurion

    Bonjour,

    Peux-tu me dire comment passer de la version française à la version anglaise ?

  8. Le Thursday 23 October 2008 à 09h48, par Thanh

    @centurion,

    Bonjour,

    Si tu as téléchargé WP depuis le portail francophone et donc téléchargé le bundle FR, il te suffit de modifier le fichier wp-config.php et de commenter la ligne

    define (’WPLANG’, ‘fr_FR’);

    @+

  9. Le Tuesday 28 October 2008 à 19h51, par centurion

    Merci pour l’astuce.
    Sais-tu si la version 2.6.3 corrige le problème ?

One Trackback

  1. By www.fuzz.fr on 18 September 2008 at 16h10

    Web, je vous dis web » Wordpress : Le problème de surcharge CPU est résolu…

    Si vous avez eu des problèmes de CPU ou des erreurs dûs à l’utilisation de Wordpress (fonction unpack()), voici la solution.

    Cela concerne surtout les blogs non anglophones (utilisation de gettext())…

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*