Etat de l’existant sur le serveur antares
Serveur apache avec php3 et mysql pour accès aux bases de données locales. Distribution Debian 3.0r1 (woody)
apache 1.3.26
php3 3.0.18-23
mysql 3.23.49-8
Les raisons d’évoluer de php3 à php4 :
php4 se généralise et on voit déjà arriver php5...
le moteur de php4 (Zend) est plus performant.
les scripts écrits pour php3 sont compatibles php4 à de rares exceptions près.
la dernière version de SPIP (publication sur le WEB) ne supporte plus que php4.
Desinstallation & installation avec dselect
Désinstaller les paquets php3 et installer les paquets php4 équivalents à la place (version 4:4.1.2-7.0.1) Les paquets php3-cgi* n’ont pas d’équivalent php4, c’est normal. Il n’y a plus qu’un module par fonction. Je ne reconduis pas non plus les modules dont je ne me sers pas.
... (des avertissements entre suppression de php3 et ajout de php4, mais il semble retomber sur ses pieds !)
Malgré tout, cela ne fonctionne pas du premier coup...
Correction de la configuration d’Apache
Il faut intervenir manuellement sur la configuration d’apache pour terminer l’installation.
La doc incluse dans le paquet phpdoc décrit toutes les particularités de la migration php3 php4. Voir,
/usr/share/doc/phpdoc/html/migration4.html
Le mieux est de faire les corrections au niveau du fichier de configuration général d’apache, httpd.conf. Ces corrections consistent à,
Substituer le type MIME php4 à php3 à l’aide de la directive AddType et d’y associer non seulement les extensions php et php4 mais également php3 pour que les anciens fichiers portant cette extension soient traités comme du php4.
Compléter les extensions possibles du fichier index par défaut dans la directive DirectoryIndex.
/etc/apache/httpd.conf avant :
/etc/apache/httpd.conf après :
Il faut arrêter et relancer le serveur apache pour prendre en compte les modifications.
Test de la configuration php
Créer un fichier test contenant le script ci-dessous, dans l’espace dédié au site WEB local :
Nommer ce fichier testphp.php par exemple.
Ouvrir ce fichier avec un navigateur WEB.
Si tout va bien la configuration php apparaît sous forme de jolis tableaux.
Le script doit s’exécuter pareillement si le fichier s’appelle testphp.php4 ou testphp.php3