Mise à jour WordPress 3.2.1

logo wordpress

La version 3.2 de WordPress est sortie le mois dernier, et le focus a été mis sur la rapidité et la légèreté. Ça valait peut-être le coup de l’installer chez Free… À noter également un nouveau mode plein écran quand on rédige un billet (le zen mode) qui a l’air bien sympathique.

Je prépare la mise à jour manuelle, télécharge les fichiers, lance la mise à jour et reçoit tout de suite un beau message très clair :

Votre serveur utilise la version 5.1.3RC4-dev de PHP mais WordPress 3.2.1 nécéssite au moins la version 5.2.4.

Effectivement, Free est à la version PHP 5.1.3… et WordPress veut la 5.2.4 minimum… Je me dis que c’est foutu, qu’il va falloir attendre que Free veuille bien mettre à jour sa version, et que cela peut prendre du temps…

Je vérifie toutefois sur le forum WordPress FR, et tombe sur un lien vers cet article de « Petit Nuage » expliquant comment installer tout de même cette version.

Il y a trois fichiers à modifier avant de les copier chez Free, tous trois situés dans le répertoire wp-includes :

version.php

On va d’abord dire à WordPress que la version 5.1.2 est suffisante :

/**
 * Holds the required PHP version
 *
 * @global string $required_php_version
 */
//$required_php_version = '5.2.4';
$required_php_version = '5.1.2';

functions.php

Et comme la fonction array_fill_keys n’existe pas dans la 5.1.3, on va la définir :

/**
 * 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;
}

pluggable.php

Enfin, pour éviter des warnings avec le fonction setcookie qui passe de 6 à 7 paramêtre à la 5.2 de PHP, il faut remplacer les lignes 737 à 739 par les suivantes :

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à, l’installation passe sans problème. Merci à Petit Nuage ! 😉

27 réflexions sur « Mise à jour WordPress 3.2.1 »

  1. Génial, un grand merci !
    Je m’occupe d’un site d’une asso qui est sur free, j’ai pas fait de mise à jour depuis un an et demi, et plouf le upgrade vers la 3.2.1 ne marchait pas, j’étais bloqué.
    C’est vraiment sympa de partager ton travail!

  2. Bonsoir,

    Pascal, est-ce le theme « cutline-3-column-split-11 » que vous utilisez pour votre blog?

    Curieusement en Allemagne c’est différent du votre. Alors finalement j’ai choisi celui de twentyten qui me convient suffisamment.

    Je vois que vous éditez avec Bluefish. Pourquoi n’utilisez-vous pas directement l’éditeur wysiwyg
    de wordpress?

    J’ai la même version 3.2.1 de WordPress…

    Cordialement,

    Mx

  3. @Quinntar : qu’est-ce qui ne marche pas ? Free utilise PHP Version 5.1.3RC4-dev, et tu parles de php 4.4.3-dev ? il y a un malentendu quelque part…

    @Merlinux : oui, à la base, c’est « cutline-3-column-split-11 », mais je l’ai largement modifié avec le temps… essentiellement du CSS, et un peu de PHP pour personnaliser certains comportements ou affichages.

    Concernant BlueFish (je ne l’utilise plus d’ailleurs, maintenant c’est Geany), en fait j’ai un blog identique qui tourne sur mon PC en local, et je fait toutes mes modifs dessus en éditant les fichiers directement depuis le répertoire… Une habitude qui permete aussi de mieux comprendre ce que l’on fait. Une fois que c’est bon, je transfère les fichiers sur Free.

  4. Bonjour, merci pour l’astuce.

    Tout marche bien mais moi j’ai un problème dans le panel administration.

    Dans les réglages et général

    Les fuseaux horaire ne s’affiche pas et je ne peu enregistrer mes modification dans cette onglet.

    Y a t’il une soluce ou c’est un bug à cause de Free.

  5. Mais je n’ai pas ce problème, à moins que je me trompe…

    Voici ce que je relève sur mon panel administration de WordPress version 3.2.1:

    « UTC-Zeit ist 25.11.2011 11:01 Deine lokale Zeit ist 25.11.2011 12:01 »

    Et ce à partir du réglage dans le box: UTC+1

    Il faut tenir compte du dernier affichage local pour voir si c’est bien réglé et bien sûr pour nous sur le continent de l’europe de l’ouest prendre UTC +1 et non par erreur UTC-1 😉

  6. @Pascal

    Je viens de remarquer en postant mon message ci-dessus, que l’affichage horaire présente un décalage de 1 heure. C’est donc mal réglé sur votre blog … à moins que vous soyez encore à l’heure d’été …lol.

  7. @Merlinux
    ben oui, comme la page de réglage ne s’affiche pas… j’avais remarqué que l’heure de publication des articles étaient décalées, mais bon ça ne me tracassait pas plus que ça ! Mais toi, tu es chez Free, en WordPress 3.2.1 et la page s’affiche complètement ?

    Pour corriger, il suffit de se connecter via mysql sur Free et modifier directement la table wp_options – chercher l’option gmt_offset et mettre 1 comme valeur (j’avais 2).

  8. J’ai essayé plusieurs fois la procédure pour la 3.3 et je récolte quelques bugs: déja au départ par exemple, dans Tableau de bord -> Règlages -> Général je ne peux pas changer le fuseau horaire de plus je n’ai pas de bouton de validation.
    J’ai changé mon slogan en dur par phpadmin… mais ce n’est pas top, de plus je ne sais pas quel champ modifier pour le fuseau…
    Est ce un bug 3.3 ou bien une spécificité free ?
    merci

  9. Oh, merci de ta réponse rapide.
    Je fais donc réessayer encore avec to .zip
    Je remarque qu’il n’y a plus besoin de répertoire session
    Je tente le coup, à bientôt

  10. Bon, je suis reparti de zero avec ta version et tout marche bien y compris le menu Règlages -> Général , je suis very glad !
    J’avais du louper quelque chose dans mes modifs, en tout cas merci beaucoup.

  11. Bonsoir Pascal et aux autres,

    En effet la page de réglage s’affiche complètement, car autrement je n’aurai pas pu régler…

    Dimanche dernier j’ai actualisé la nouvelle version de WordPress 3.3 sans problème et en plus le theme que j’utilise.

    Aujourd’hui par contre j’ai fait connaissance avec un système stupide, qui n’est pas évident du tout. Le répertoire de WordPress étant par défaut « /wordpress » après l’installation, j’ai tenté de le nommer « /journal » à la place. Pour cela j’avais pris soin d’indiquer à la page de réglage par deux fois la nouvelle adresse.

    Dès le démarrage, tout fonctionnait parfaitement? Eh bien non, car seuls les images des articles tout comme le banner en tête du blog manquaient, parce que l’adresse restait wordpress/wp-content/uploads/. Aucun réglage n’est apparemment prévu pour cet effet. Seuls les images des nouveaux articles téléchargées prenaient l’adresse « journal/wp-content/uploads/ ».

    Finalement plutôt que de m’embêter de tout modifier directement au Squl et ne sachant pas s’il y aurait peut-être d’autres ennuis et aussi que le père Noel ne va pas attendre plus longtemps, j’ai finalement renommé « /wordpress » et tout simplement créé un répertoire « /journal » au serveur du web, pour y effectuer une déviation vers « /wordpress ».

    Et ainsi lje n’ai pas raté le train pour le réveillon qui s’approche …lol

    Bonnes fêtes donc…

  12. Bonjour, merci pour ce tutoriel !
    Je vais essayer d’installer WordPress chez Free car mon hébergement se termine bientôt.
    Encore un grand merci,
    Cordialement,
    Nathan R.

  13. Bonjour,

    je viens d’actualiser WordPress dans la version 3.4.1

    Le plus grand changement qui est visible au premier coup d’oeil est l’éditeur des articles ou des pages qui occupe désormais tout l’écran de l’ordinateur.

    Toutes les options situées auparavant à droite de l’éditeur se trouve dorénavant en dessous de l’éditeur, ce qui est préférable, lorsqu’on a un petit écran sur un notebook.

  14. Bonjour, merci aux auteurs pour ce tuto de wordpress et free …
    Sinon 2 questions, j ai installé sur le serveur free la version 331 de petit nuage : installation sans probleme: MERCI !
    1 pourquoi dans le tableau de bord le blog wordpress m’affiche :
    Erreur RSS : WP HTTP Error: couldn’t connect to host ???
    2 pourquoi askimet installé par défaut ne peut pas se connecter:
    Impossible d’atteindre les serveurs d’Akismet. ????
    Merci d’avance
    Nono

  15. Bonjour pourriez vous m’éclairer sur la ligne à changer ou après laquelle il faut insérer:

    /**
    * 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;
    }

    dans le fichier function.php du dossier wp-include.

    Merci par avance cordialement

  16. Zik,

    Comme on souhaite déclarer une fonction qui n’existe pas, il faut insérer tout le bloc.
    Le fichier functions.php contient comme son nom l’indique une liste de fonctions.
    – Chaque bloc commence par « function » et se termine par « } ».
    – Les /** et */ servent à inclure du commentaire.

    Tu peux donc insérer ce bloc où tu le souhaites : regarde un peu la structure de ce qui existe, tu vas vite comprendre. Tu peux choisir de le mettre tout en haut, juste après le premier bloc de commentaire et avant la première « function » existante.

  17. Bonjour, je lis dans vos commentaires que Antispam-bee est une bonne solution. Je suis chez Free en php 5.1 et wp 3.5.1 modifié.
    Le problème est que Antispam-bee à l’air de nécessiter php5.2.4.
    Y aurait-il quelquechose que je n’ai pas compris ? Comment faites-vous pour faire tourner cette extension chez Free ?
    Merci d’avance pour votre aide.

  18. Bonjour,
    Merci pour ce tuto super efficace et simple. J’ai installé la version 3.6.1 de WordPress sur free. Dans le fichier pluggable.php, il faut remplacer les lignes 678 à 680.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *