Table des matières
Installer PHP 5.4 ou 5.5 sous Debian
Les dépôts officiels standards Debian ne permettent d'installer que PHP 5.3 sur Squeeze ou Wheezy. Certes, l'utilisation des dépôts officiels backports permet de contourner les limites des dépôts standard mais elle reste limitée à ce que prévoit la version suivante, sous réserve que le rétro-portage ait été accomplit.
Il existe un moyen simple de disposer de versions récentes de PHP (jusqu'à 5.4 pour Squeeze et 5.5 pour Whezzy) : le dépôt Dotdeb.
Ce dépôt permet également d'installer des versions récentes de mySQL et Nginx.
Avantages et inconvénients de Dotdeb
Le principal avantage de Dotdeb est de proposer des versions à jours. Mais cela expose également à certaines inconvénients :
- n'est pas géré par Debian (avec ses procédures et son niveau d'exigence),
- collections de modules moins riches que la distribution Debian standard,
- compilation de modules possible mais perte des mises à jour automatiques.
Si on a besoin de modules non disponibles dans la distribution, l'avantage relatif de Dotdeb est qu'on est rompue à la compilation de modules.
En savoir plus
- How to package PHP extensions by yourself (en, by Dotdeb)
Ajouter les dépôts dotdeb
Sources
- Instructions (en) : documentation officielle de dotdeb.
Installer la clé
wget http://www.dotdeb.org/dotdeb.gpg sudo apt-key add dotdeb.gpg
Installer les dépôts généraux
Car ils contiennent des dépendances requises par les paquetages disponibles sur les dépôts spécifiques.
Pour Squeeze
deb http://packages.dotdeb.org squeeze all deb-src http://packages.dotdeb.org squeeze all
Pour Wheezy
deb http://packages.dotdeb.org wheezy all deb-src http://packages.dotdeb.org wheezy all
Installer les dépôts pour PHP
PHP 5.4 pour Squeeze
deb http://packages.dotdeb.org squeeze-php54 all deb-src http://packages.dotdeb.org squeeze-php54 all
PHP 5.5 pour Wheezy
deb http://packages.dotdeb.org wheezy-php55 all deb-src http://packages.dotdeb.org wheezy-php55 all
Mettre à jour les paquetages
Comme indiqué en début de cette note, nous allons procéder au remplacement des versions courantes de php et de mysql.
apt-get update apt-get dist-upgrade
Sous Debian 6 (Sqeeze), il faut réinstaller manuellement MySQL pour terminer l'installation
apt-get install mysql-server
Problèmes résiduels
Sources :
- Nouveautés PHP 5.4 (changelog)
- difficultés d'installation (trace d'installation)
Le changement de version de PHP - qui plus est, à partir d'une source différente(Dotdeb n'est pas Debian !)), risque fort d'entraîner une discontinuité dans certains modules et d'altérer certains réglages (par exemple le jeu de caractères par défaut de PHP).
Les situations varient si l'on passe de 5.3 à 5.4 ou de 5.4 à 5.5 et en fonction des modules packagés que l'on a soit même installés (sans parler de PECL !).
Mise à jour de Virtualmin
Source : Dotdeb php packages php5 conf error (en, by Virtualmin forum).
Si le serveur sur lequel on effectue la mise à jour est administré via Virtualmin, les sites utilisant des scripts php ne sont plus accessibles1).
Il suffit d'intervenir sur deux fichiers se trouvant dans le répertoire /etc/apache2/mods-available. Dans les deux cas, il s'agit de commenter les paramètres définissant le “handler” php à utiliser pour obtenir le résultat présenté dans les séquences suivantes.
fcgid.conf :
<IfModule mod_fcgid.c> # AddHandler fcgid-script .fcgi # FcgidConnectTimeout 20 </IfModule>
php5_cgi.conf:
… <FilesMatch ".+\.ph(p[345]?|t|tml)$"> # SetHandler application/x-httpd-php </FilesMatch> …
Concernant la déclaration explicite du jeu de caractère par défaut, ne pas oublier que le fichier php.ini pris en compte n'est pas celui définit par défaut (/etc/php5/apache2|cgi/php.ini) mais le fichier propre à chaque virtual server ~/etc/php5/pnp.ini.
Conditions de test : Virtualmin 4.10 gpl, Debian 6 Squeeze, PHP 5.4.32-1~dotdeb.0.