J’espère avoir enfin réglé le problème de memory limit – mémoire limite sous WordPress 2.2, après quelques nouvelles galères et consultation de pages d’aide.

Si l’on se contente d’installer WordPress 2.2 sans ajouter de plugins, ou de rester à  la version antérieure, c’est peut-être jouable avec la limite de 8M imposée par certains serveurs mutualisés. Mais sans la joie des plugins et les nouveautés des mises à  jour, autant utiliser une formule clé en mains, comme wordpress.com ou autre, ce que je voulais éviter. J’aime l’aventure ;-)

Historique

La mise à  jour de WordPress 2.2 s’était passée sans trop de problèmes juste quelques soucis. J’ai ensuite installé le itheme, et là  les problèmes ont commencé. Je voulais les plugins Ultimate Tag Warrior, Flickr Photo Album, mais j’ai finalement laissé tomber tout ça, à  chaque mise à  jour de photos, le site plantait.

Je pensais que le coupable était itheme, trop gourmand à  cause des Java Scripts. J’ai passé à  mandigo. Les problèmes de limite mémoire étaient toujours là , impossible d’activer plus d’un ou deux plugins simultanément, avec à  chaque modification, les fameux messages d’erreur

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 3003232 bytes) in
/home/dlounge/public_html/wp-includes/cache.php on line 48

J’ai relu les pages d’aide, navigué dans les forums en anglais et en français, modifié le .htaccess, sans succès.

Les plugins que je voulais activer étaient peu nombreux :

  1. Askimet
  2. Simple Tagging
  3. Tiger Style Administration
  4. Share This
  5. Flickr Badge Widget
  6. No Self Pings

Sur le site de mon hébergeur infomaniak (Console admin, Outils, Mémoire et temps limite d’exécution des scripts) je retombe sur cette page :

Déblocage de la mémoire et du temps limite d’exécution des scripts
Nous limitons les scripts en mémoire et en temps d’exécution pour des raisons de sécurité et de performance pour les machines mutualisées. Par exemple, une boucle infinie due à  une erreur de programmation consommerait énormément de ressources et pénaliserait l’ensemble des clients partageant la même machine.

Votre hébergement est dont limité en permanence à  un maximum de 16Mo de mémoire et 10 secondes d’exécution pour un script. Ces paramètres ont été choisies pour permettre un déroulement normal de la très grande majorité des scripts et une cohabitation mutualisée harmonieuse et équitable, que cela concerne des sites avec 1 ou 1000 visiteurs simultanés.

Déblocage du temps limite d’exécution à  5 minutes et 64Mo durant la prochaine heure

Vous avez la possibilité de débloquer temporairement (pendant une heure) es limites pour permettre, par exemple, l’installation d’un CMS demandant plus de ressources pour sa phase initiale.

Je fais la manip et là , miracle, tout marche. Je peux activer tous les plugins simultanément, mais … seulement pour une heure et pas plus de 10 fois par an. Comme j’avais déjà  utilisé cette option, la solution n’est pas envisageable à  long terme.

J’affichais alors le contenu du phpinfo, depuis la console d’admin (Admin Infomaniak, Outils, Informations techniques, afficher phpinfo) et je vois memory_limit 8M et non pas 16M comme dit dans la doc. J’envoie un email à  infomaniak qui confirme le déplacement de mon site sur un serveur où la mémoire limite sera de 16M. Je dois éviter la mise à  jour du site jusqu’à  ce que le transfert soit effectif. En fin de journée, soit moins de 12 heures après avoir fait ma demande, je reçois un email de confirmation du transfert. Merci infomaniak!

Conclusion

Vérifiez la valeur de memory_limit dans phpinfo avant d’installer WordPress 2.2. Si vous avez 8M, adressez-vous à  votre hébergeur et demandez 16M au moins. J’espère ne pas avoir de nouveaux problèmes et pouvoir enfin tester tous ces plugins en attendant WordPress 2.3 qui se prépare !

NB: Pour visualiser le phpinfo, il suffit de créer un fichier PHP contenant <? phpinfo(); ?>