Installer PHP 5.3.1 sous Debian et/ou Ubuntu via un repository non officiel
php - 📁 tranche-de-vie
Hier, j'étais en train d’expérimenter avec des appels SOAP pour préparer un projet et j'ai réalisé que ma version compilée de php 5.3.0 était défectueuse.
Je dis que mon installation est défectueuse car lorsque j'instantiait $client = new Zend_Soap_Client; plus rien ne répondait. Même aller en error_reporting(E_ALL); et tout ce qui est imaginable. C'est après quelques heures a tourner en rond je me suis dit que si même $client = new SoapClient; avec un résultat du genre "Class does not exists". C'est le PHP... pas le code ou le Framework. Pas de doute.
J'ai donc pensé recompiler la dernière version PHP 5.3.1 qui est considérée stable... quant à recompiler, autant mettre à jour sur la dernière version!
Ce billet vous permettra d'installer la version stable PHP 5.3.1 a partir d'un repository déjà configuré au lieu de le compiler.
Tournage en rond avant d'en arriver là
J'ai souvent entendu l'adage qui veut qu'on ne devrait pas installer un logiciel a sa première version majeure. On peut faire le parallèle avec les automobiles. Il y a des coins ronds qui doivent être réparés. La version 5.3.1 est justement la correction de plus de 100 bugs.
Quelques corrections dans PHP 5.3.1
- Ajouté "max_file_uploads" dans la configuration INI qui peut etre là pour éviter la quantité de fichiers téléversés a 20 par défaut. Ainsi éviter un tentative d'attaque DOS
- Ajouté des vérification de validité sur le moteur exif
- Corrigé le "safe_mode" dans tempnam()
- Corrigé open_basedir dans posix_mkfifo()
- Corrigé la fonction brisée safe_mode_include_dir
Voir le "ChangeLog (anglais)" et son "release announcement (anglais)"
Ma station de travail
Ma station de travail secondaire est en Ubuntu 8.10 sur mon vieux portable. J'avait compilé la version 5.3.0 il y a plusieurs mois (dès sa sortie) pour pouvoir jouer avec les nouvelles fonctions.
La version disponible en auto-installation sur Ubuntu est encore sur du PHP 5.2.x ce qui est innacceptable pour mes projets. J'avait même fait ma ligne configure et j'avait commencé a compiler la nouvelle version. C'est là que je me suis dit que j'était pas le premier a vouloir une version plus récente de PHP.
Installer PHP 5.3.1 sous Ubuntu Linux
Mise à jour
Nous avons fait la migration de notre serveur d'hébergement public vers cette version de PHP 5.3.1 en suivant cette procédure. J'ai ajusté le tutoriel.
LE CHANGEMENT: Utiliser aptitude au lieu de apt-get
C'est pas une version officielle selon Debian ou Ubuntu car jusqu'en mi-2010 sur la release Squeeze de Debian c'est comme ça.
AVERTISSEMENT
Il s'agit d'une version compilée par une source extérieure de Debian ou Ubuntu maintenaue par Dotdeb. Cette partie du tutoriel est largement inspirée (traduction quaisi verbatim) du billet suivant.Comparé a la version Debian, la version Dotdeb a ces changements
- Les .deb ont le patch Suhosin appliqué par défaut
- mis a part apache2, apache2filter, CGI, et le CLI (pour la ligne de commande), le module FPM utilise la version custom [de Dotdeb] du paquet intitulé "php5-fpm". Il permet des meilleures performances et plus de fonctions comparables a une installation en mode CGI.
- Note: Le module FPM: a un exemple de configuration, un "init script", et un gabarit de configuration pour NGINX
Installer?!
C'est fonctionnel sous Debian Lenny et probablement d'autres. Moi, personnellement, je l'ai essayée sous Ubuntu 9.04 Jaunty. Dites-moi si vous l'avez essayé sous d'autres version dans les commentaires
Étape 1
Modifier le sources.list
$ sudo vi /etc/apt/sources.list
Ajouter les deux lignes suivantes.
deb http://php53.dotdeb.org stable all
deb-src http://php53.dotdeb.org stable all
Étape 2
Maintenant, simplement mettre a jour avec...
# aptitude update && aptitude upgrade
Si vous aviez une version inférieure de PHP, elle devrait se mettre à jour.