PHP 5 sur ma ubuntu
Il existe des tutoriels pour installer php5 sur ubuntu, mais qui précise la marche à suivre dans le cadre de l'installation de PHP 5 avec apache 2. Voilà ma version, sur un apache 1.3.x
Comme d'habitude, nous installerons PHP5 en CGI pour le faire cohabiter avec mod_php4. Nous supposerons que vous avez déjà une installation PHP4/Apache1.3 en état de marche.
Première chose à faire, récupérer les paquets PHP5. Pour ce faire nous utiliserons dotdeb qui propose des paquets PHP up-to-date pour debian que nous pouvons donc utiliser pour ubuntu. Il suffit de rajouter la ligne suivante dans votre /etc/apt/sources.list:
deb http://packages.dotdeb.org/ ./
Comme ça par exemple (en root):
echo "deb http://packages.dotdeb.org/ ./" >> /etc/apt/sources.list
Une fois cette formalité effectuée, nous mettons à jour la liste des packages (apt-get update), puis nous installons les paquets nécessaires:
php5-cgi php5-cli
Vous pouvez également installer quelques extensions conviviales (php5-gd, php5-tidy, etc) au passage.
Une fois tout ce beau monde installé, il ne nous reste plus qu'a configurer apache. Pour ce faire nous créons un fichier /etc/apache/conf.d/php5.conf, dans lequel nous ajoutons la ligne suivante:
AddType application/x-httpd-php5 .php5
Nous aurons besoin du module Actions, qui n'est pas activé par défaut sous ubuntu. Nous allons donc l'activer dans /etc/apache/modules.conf en ajoutant la ligne suivante:
LoadModule action_module /usr/lib/apache/1.3/mod_actions.so
Dernière étape: httpd.conf. Nous allons indiquer à Apache que faire avec les fichiers de type application/x-httpd-php. D'abord, vérifier que la ligne suivante est bien présente dans httpd.conf:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
Et si ce n'est pas le cas, rajoutez là. Ensuite, Ajoutez la ligne suivante:
Action application/x-httpd-php5 /cgi-bin/php5
Et voilà, you're set comme ils disent par là bas.
Pour tester rien de plus simple, créez un fichier phpinfo.php5 à la racine de votre DocumentRoot (usuellement /var/www) et insérez-y le code suivant:
<?php phpinfo(); ?>
Sauvez, puis allez voir le résultat :-)
Comments
Ah ben voilà... on avait les fichier .php3 qui nous ont pété les c******* et maintenant on se retrouve avec des fichiers .php5
Sur mon pc (sous windows... et oui), j'avais fait cohabiter php4 et php5 sans changer l'extension... c'est un peu plus compliqué mais ca a le mérite de ne pas polluer mes sites avec des .php5.
Ce n'est plus le cas maintenant, mais j'ai gardé une copie du fichier httpd.conf (comme je suis fort !!) donc je peux vous faire un copier coller.
Quelques explications: pour un meme fichier php, apache vérifie si on se trouve dans le répertoire virtuel /php5. Si oui, il execute php5
Exemple:
et c'est pourtant le même fichier truc.php. Ca marche évidemment avec les sous-répertoires
On voit que tu es sous windows, un changement d'extention est long et fastidieux mais sous linux en une ligne c'est fait ;)
De plus comment fais tu réelement cohabiter les deux ? dans un même projet ? impossible...
> On voit que tu es sous windows, un changement d'extention est long et fastidieux mais sous linux en une ligne c'est fait ;)
Hum... sous windows aussi hein? un simple "ren *.php42 *.asptartenpion" ca marche... merci à linux de faire ce que font tous les os... Par contre... si tu fais des includes avec l'extension (ce qui est fait la plupart du temps) ben il faut changer dans tous tes fichiers php l'extension du fichier à inclure... alors oui, je sais, grep bidule truc et tu changes tout, et ca existe aussi sur windows, mais c'est franchement relou...
> De plus comment fais tu réelement cohabiter les deux ? dans un même projet ? impossible...
je ne vois pas l'utilité d'utilisé du php3, 4 et 5 dans une même appli... c'est un peu comme si on utilisait de l'asp et du php ensemble... ton site il est soit en php soit en asp, pas les 2. Maintenant si tu as 2 applis distinctes et qui sont l'une en php4 l'autre en php5... ben c'est pareil que maintenant quand tu dois faire cohabiter de l'asp avec du php... y'a des interfaces. Tu n'appelles pas le script asp a l'interieur de php, tu l'execute et tu prends le résultat, tout au plus... ben là c'est pareil, tu appelles ton script http://mon.host.com/php5/mon.script.php (php5) à partir de php4 (et réciproquement)
Salut,
Et le mode rewrite d'Apache est une solution aussi ;)