Bonjour, C’est Gaëtan, Développeur web Freelance dans les Alpes.

Jul 19


Comme il est impossible de faire les mises à jour automatiques de wordpress chez free, il faut se prendre par la main et faire la mise à jour à la dur une fois de temps en temps.

C’est au tour de la 3.2.1 chez moi aujourd’hui.

Cliquez ici pour la dernière version supportée sur le site (3.5).

/!\ Note Importante: si vous avez une version antérieur à 3, veuillez jeter un oeil au tuto précèdent

/!\ Note ImportantePour une nouvelle installation, jetez un oeil ici

 

1) On commence par sauvegarder sa BBD via phpmyadmin.free.fr (exporter -> sql + zippé ), juste au cas où.

2) Ensuite on télécharge la 3.2.1 via fr.wordpress.org/releases/

Il faut dezipper tout ça, et uploader tout sauf le dossier wp-content sur votre ftp via votre client favori. (il faut  bien tout remplacer)

Rendez-vous maintenant sur votre site.

vous devez maintenant avoir le message pas sympa suivant:

votre serveur utilise la version ... de PHP mais WordPress ... au moins la version ...« votre serveur utilise la version … de PHP mais WordPress … au moins la version … »

 

3) Editez le fichier wp-includes/versions.php

Commentez la ligne 35 et ajoutez

<pre lang="php">$required_php_version = '5.1.2';

Retournez sur votre site, qui doit fonctionner.

4) Dans l’admin, faites la mise à jour de la BDD.

 

Oups, une nouvelle erreur:

Fatal error: Call to undefined function array_fill_keys() in ... on line 88

Fatal error: Call to undefined function array_fill_keys() in … on line 88

La fonction array_fill_keys n’existe pas dans la 5.1.3RC4 de free.
5) Il faut donc ajouter les lignes suivantes au début du fichier wp-includes/functions.php:

<pre lang="php">/**
 * Add missing function in php version 5.1.3
 */

function array_fill_keys($keyArray, $valueArray) {
    if(is_array($keyArray)) {
        foreach($keyArray as $key => $value) {
            $filledArray[$value] = $valueArray[$key];
        }
    }
    return $filledArray;
}

EDIT 25.07.2011
6) Plusieur lecteurs ont eut un problème avec des warnings concernant la function setcookie qui passe de 6 à 7 paramêtre à la 5.2 de PHP.
Pour prévenir, je vous invite à remplacer les lignes 737, 738 et 739 de wp-includes/pluggable.php par

<pre lang="php">    setcookie($auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, $secure);
    setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure);
    setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie);

 

 

 

et voilà! :)

EDIT 16/08/2011
Certain on débusqué un problème avec la page de réglages, problème causé par la function timezone_identifiers_list().
Voilà donc une nouvelle version de mon fichier functions.php avec une implémentation de cette fonction.

EDIT 21/09/2011
Pour le nouvelles installation, j’ai fait un pack tout beau ici.