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 :
- Télécharger le fichier zip de la dernière version de WordPress
- L’uploader via FTP dans un dossier de WordPress (j’ai choisi
wp-content
, mais ça peut être n’importe où) - 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 :
$download = $this->download_package( $current->package );
Et remplacez le par ceci :
if($current->package == 'https://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 );
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 😉 )