Si, comme moi, votre hébergement est un serveur mutualisé chez 1&1, vous avez certainement un problème similaire au mien, à savoir pas assez de mémoire allouée pour effectuer les mises à jour du core. Par défaut, 1&1 règle la mémoire à 32MB, alors que WordPress semble en requérir beaucoup plus… Résultat, vous vous retrouvez avec une erreur de type :

Fatal error: Out of memory (allocated 31981568) (tried to allocate 3528484 bytes)

Le service technique de 1&1 a répondu à mon mail d’insultes d’appel à l’aide en m’expliquant comment augmenter la mémoire allouée jusqu’à la valeur ô combien vertigineuse de 40MB. Ouch. Comment dire. Ça ne sera pas suffisant.

Bon, qu’à cela ne tienne, je me suis remonté les manches et j’ai trouvé une solution bâtarde, c’est à dire à mi-chemin entre la mise à jour manuelle et la mise à jour automatique. Pourquoi ne pas faire simplement une mise à jour manuelle, allez-vous me demander ? Simplement parce que celle-ci prend trop de temps et est fortement génératrice de stress (même quand on sait comment s’y prendre). Bref, ma solution est la suivante :

  1. Télécharger le fichier zip de la dernière version de WordPress
  2. L’uploader via FTP dans un dossier de WordPress (j’ai choisi wp-content, mais ça peut être n’importe où)
  3. Modifier le fichier wp-admin/includes/class-wp-upgrader.php  :

Rendez-vous à la ligne 878 (class Core_Upgrader, function upgrade), à savoir au niveau du code suivant :

[code lang= »php »]$download = $this->download_package( $current->package );[/code]

Et remplacez le par ceci :

[code lang= »php »]
if($current->package == ‘http://fr.wordpress.org/wordpress-3.0.4-fr_FR.zip’)
$download = ‘/chemin/vers/le/fichier/wordpress-3.0.4-fr_FR.zip’;
else
$download = $this->download_package( $current->package );
[/code]

Théoriquement, on devrait pouvoir se contenter de la ligne 2, mais je préfère prendre mes précautions.

L’exemple est évidemment à adapter avec la version de WordPress idoine. Si vous ne connaissez pas le chemin exact de votre site, c’est simple, vous l’avez à la fin de la « Fatal error » mentionnée plus haut. Après cela, lancez à nouveau la mise à jour automatique. Miracle, ça passe tout seul !

Le fichier que vous venez de modifier sera évidemment remplacé par la mise à jour, donc ne vous étonnez pas, il vous faudra recommencer cette manipulation à chaque fois que vous voudrez mettre à jour le core (et accessoirement, revenir sur cet article pour copier/coller le code 😉 )

Cet article a 7 commentaires

  1. Bonjour,

    J’ai également un (enfin, plusieurs…) site WordPress hébergé chez 1and1.
    J’ai donc été confronté au même problème de manque de mémoire lors des MAJ de WordPress.
    Mais j’ai trouvé une solution (que je trouve) un peu plus simple :
    Désactivez quelques plugins pour libérer un peu de mémoire, relancez la MAJ automatique par l’interface, et cela fonctionne bien. Il faudra évidemment penser à réactiver les différents plugins à la fin.
    L’avantage, c’est qu’on n’a aucun fichier à modifier, aucun accès FTP nécessaire, et tout se fait simplement par l’interface en quelques minutes.

    Franck

  2. Bonjour à vous !
    Ne trouvant pas le fichier « class-wp-upgrader.php », j’ai utilisé la méthode de Franck. Cela fonctionne parfaitement ! Merci beaucoup !

  3. Oui maintenant que j’y pense Franck, merci pour cette solution bien plus simple !

  4. Aucun souci.
    J’ai tellement galéré avec ce problème au début … alors je partage ma solution. 🙂

  5. Les mises à jour automatiques ne sont que rarement de bonnes choses. Tout comme les sauvegardes des anciennes versions des articles, qui alourdissent le base de données, les MAJ automatiques sont un facteur de plantage supplémentaire…

  6. @Julien Appert: La soluce de Frank ne fonctionne pas pour tous… j’ai tout désactivé, sélectionné le thème par défaut, supprimé la plupart des autres juste par désespoir… rien n’y fait.

    Pas le goût de faire à la mitaine. Bonne idée que de forcer l’utilisation d’un répertoire local au serveur!

  7. bonjour,
    vous avez les offres de bases ?
    il faut prendre l’offre Basic, éviter l’offre Starter (tiens les noms ont changé par ça à mon époque) Dual Classique.

Laisser un commentaire

Fermer le menu
odio at luctus mattis quis, venenatis nunc Praesent ut