Repasser en PHP 5.2 sous ubuntu 10.04 (lucid) pour drupal

EDIT : Une methode plus propre et pérenne à l’air d’exister ici : http://www.nickveenhof.be/blog/reverting-or-downgrading-php-53-52-ubuntu-lucid-lynx-1004. A tester.
EDIT2 : Autre article en anglais sur CivicAction : http://civicactions.com/blog/2010/may/26/ubuntu_1004_and_drupal , ainsi qu’un tuto en français sur ubutun-fr : http://forum.ubuntu-fr.org/viewtopic.php?id=394923

Comme vu ici, et a plein d’autres endroits surement, drupal 6.16 n’est pas encore complement compatible avec PHP 5.3, dernière version en date.

Or, sur une nouvelle installation de machine, j’ai voulu utiliser la dernière version d’ubuntu sortie il y a quelques jours, la 10.04, ou Lucid. Cette version vient livrée avec php en version 5.3, ce qui n’arrange pas trop nos affaires, drupal me sortant alors régulierement plein de warnings, du type :

warning: Parameter 2 to securepages_link_alter() expected to be a reference

J’ai trouvé une solution qui fonctionne, pour utiliser PHP 5.2 dans la dernière version d’Ubuntu. Je ne sais pas du tout si c’est la meilleure, et j’espère recevoir des commentaires constructifs. Ma solution est plus qu’inspirée de ce post en anglais. L’idée est de dire a apt d’utiliser les depots de karmic, la version précédente pour ce qui touche au php.

1. J’ai édité mon fichier sources.list (/etc/apt/sources.list), et j’ai ajouté les depots de karmic (faut-il en ajouter plus ?).

deb http://fr.archive.ubuntu.com/ubuntu/ karmic main restricted
deb-src http://fr.archive.ubuntu.com/ubuntu/ karmic main restricted

2. Création de fichiers de préférences pour les paquets visés. Par exemple, pour le paquet « php5″, il faut créer le ficher /etc/apt/preferences.d/php5 :

Package: php5
Pin: release a=karmic
Pin-Priority: 991

Comme précisé dans le message du forum en anglais, cette méthode ne supporte pas les wildcards, donc obligation de créer autant de fichier que de paquets souhaités. soit dans mon cas:

  • libapache2-mod-php5
  • php5
  • php5-cli
  • php5-common
  • php5-gd
  • php5-mysql

L’installation c’est ensuite déroulée sans problème, mis-a-part phpmyadmin qui n’a pas voulu s’installer…

Voila, si un Ninja PHP/Ubuntu passe part la, qu’il n’hesite pas à critiquer ma methode, elle doit etre loin d’etre parfaite.

3 mai 2010 catégorie : | Mots-clés : , , ,

5 Commentaires

  • 4 mai 2010 cpineau

    Bonjour,

    tout d’abord merci pour ce petit tuto qui m’a bien aidé.

    Je ne pense pas être bien placé pour critiquer ta méthode, en tout cas ça à marché.

    J’ai réussi à installé phpmyadmin, voilà comment j’ai fait :
    - ajouter les depots universe de karmic

    deb http://fr.archive.ubuntu.com/ubuntu/ karmic main restricted universe
    deb-src http://fr.archive.ubuntu.com/ubuntu/ karmic main restricted universe

    - créer le fichier de préférence pour php5-mcrypt et phpmyadmin comme pour les autres

    - remplacer ces 2 paquetages par la bonne version

    J’ai accès à phpmyadmin, même s’il me reste un warning « PHP ne peut charger l’extension mcrypt,
    veuillez vérifier votre configuration de PHP », je cherche comment résoudre ça. Il ne reste pas grand chose je pense.

    Clément

  • 5 mai 2010 opi

    merci clément. J’essaye l’install de phpmyadmin bientot. (en attendant je passe par le soft « MySQL Query Browser »).

    J’ai aussi le warning php a propos de mcrypt…

    si tu avances sur ce probleme, tiens nous au courant, merci !

    opi

  • 19 mai 2010 wizonesolutions

    Merci de moi aussi. J’ai maintenant réinstallé phpmyadmin avec succés. J’espère que le PHP 5.3 ne casserait si beaucoup de choses !

    Je peux aussi ajouter que je ne vois pas des erreurs mcrypt de mon côté.

  • 21 mai 2010 pierre

    Bon sinon utiliser Drupal et PHP 5.3 ça marche globalement bien. Mis à part quelques warnings méchants (PHP 5.3 attend une syntaxe plus stricte, initialization de variables et autres), aucun soucis.

    Je tournais en PHP 5.3 depuis plus de 6 mois, quand un module gueule vraiment, en règle général faire le bon patch se fait en moins de 10mn montre en main, le temps de faire une issue queue sur la page projet du module concerné.

    Il faut savoir que mis à part certains passages de variable par référence obsolètes qui peuvent casser l’execution de manière silencieuse, il n’y a pas vraiment d’autres pièges (les warnings sont ennuyeux, mais c’est tout).

    Dans la liste des modules qui marchent très bien avec PHP 5.3, on retrouvera le core (si si, ça marche vraiment), Views depuis peu, CCK (pas eu de soucis de mémoire), et pas mal d’autres modules.

    Donc pour les développeurs, honnêtement il vaut mieux rester sur du PHP 5.3, et faire les bons patches plutôt que de repasser en 5.2, car les warnings de PHP 5.3 ne sont pas annodins, ils sont là lorsque c’est mal codé, et montrent des vrais problèmes qui peuvent être autant de soucis silencieux avec PHP 5.2.

  • 23 mai 2010 opi

    pierre, je reconnais bien la ton style rigoureux ! Et c’est vrai que ca peut etre une bonne chose de nettoyer les modules qui font hurler le PHP-5.3.
    Si tu me dis que Drupal y fonctionne, moi j’etais resté sur des messages de drupalfr qui disaient que non, ca ne fonctionnait pas du tout. .
    A retester tout ca, merci du message..

    opi

Poster un commentaire