Migration php5, qu'est-ce ?

L'autre Net propose à ce jour l'utilisation du langage php4, qui permet d'héberger des scripts dynamiques, des logiciels de publication comme spip, wordpress ou joomla, etc.

Le langage php a beaucoup évolue, et une nouvelle version, php5, est disponible depuis longtemps. Il est donc grand temps pour L'Autre Net de passer de php4 à php5.

Heureusement, l'immense majorité des scripts et logiciels sont compatibles avec php5. La plupart des membres n'auront donc rien à faire pour que cela fonctionne.

Cependant, si l'un de vos site ne marche pas, ou certaines pages etc. L'autre vous propose, pendant quelques mois, de configurer votre site pour qu'il utilise toujours php4. Vous pourrez ainsi prendre tout votre temps pour modifier vos scripts pour qu'ils fonctionnent avec php5.

Quel est le calendrier de cette migration ?

  • (FAIT) Le lundi 26 mai 2008, elma est installée en php4 : vous pouvez dès ce jour utiliser le script qui force votre site en php4 (cf ci-dessous)
  • (FAIT) Le lundi 2 juin 2008, les serveurs sont mis à jour en php5. Tous les sites passent automatiquement en php5 (sauf ceux qui utilisent déjà le forçage en php4)
  • Le lundi 4 aout 2008, le serveur elma utilisant php4 est éteint, et les sites qui n'ont pas migrés passent automatiquement en php5.

Comment puis-je corriger mon site ?

Cela dépend beaucoup de la nature du site et de son ancienneté. Si vous utilisez un CMS du type Spip ou autre, le plus simple est sans doute de mettre à jour votre CMS pour une version récente. Dans ce cas il faut se reporter à sa documentation.

Dans les autres cas, la liste des incompatibilités entre PHP4 et PHP5 se trouve sur la page suivante :

http://www.php.net/manual/fr/migration5.incompatible.php

Une des principales modifications intervient dans la manière de faire appel aux variables de type GET, POST ou SERVER. Ainsi, Les paramètres transmis via l'url ou via un formulaire sont disponibles dorénavant (et depuis PHP 4.1.0) via les variables superglobales $_GET et $_POST (ou les deux réunis dans la variable $_REQUEST).

Pour ne pas avoir à recoder tous les scripts, on peut ajouter l'une des lignes suivantes en haut des scripts concernés:

extract($_SERVER);  
extract($_REQUEST);  // reprend $_GET, $_POST et $_COOKIE

Comment continuer à utiliser php4 en attendant que je corrige mon site ?

Une solution temporaire est mise en place pendant 2 mois afin de permettre aux adhérents de rediriger les requêtes sur un serveur encore équipé de la version 4 de PHP.

Cela est possible grâce à l'utilisation des fichiers .htaccess d'apache et notamment pour les plus techniciens d'entre vous grâce aux conditions Rewritecond et Rewriterule.

Où placer ce fichier ?

Créez un fichier nommé .htaccess à la racine de votre site web. Si celui ci se trouve dans le répertoire /monsite alors le placer dans ce répertoire. S'il se trouve à la racine de votre compte alors placer ce fichier à la racine.

Que doit contenir ce fichier ?

Placer dans ce fichier les informations suivantes :

RewriteEngine on

RewriteCond %{SERVER_ADDR} ^80\.67\.160\.(76|69)
RewriteRule ^(.+)$  http://%{HTTP_HOST}.php4.lautre.net/$1 [R,L]

Note : Vos scripts PHP utilisant la variable HTTP_HOST verront désormais les requêtes arriver sur monsite.tld.php4.lautre.net, il se peut (même si cela est fort rare) que votre site n'apprécie pas cette modification. Dans le cas ou une adaptation devient nécessaire nous vous conseillons plutôt de travailler à mettre à jour vos sites vers PHP5.

Comment faire que les visiteurs de mon site voient la version php4 et que je sois le seul à voir la version php5 ?

De la même manière on peut ajouter une condition supplémentaire de manière à ce que seule l'adresse IP de votre connexion internet n'accède à la version PHP5 de votre site.

Cela permet de tester vos mises à jour tout en laissant votre site Internet accessible aux les autres.

Une explication de ce truc se trouve à cette adresse (qui vous montre l'exemple avec votre adresse IP actuelle) : http://www.lautre.net/monip.php

Liste des trucs & astuces signalés sur les forums d'aide

J'ai vraiment beaucoup de problèmes qui contacter ?

Comme dans tous les cas, les membres de l'association peuvent s'entraider. Plusieurs solutions s'offrent a vous (Attention : l'accès aux forums est restreint aux adhérents de l'association via un mot de passe. Celui ci est le même que votre code d'accès au bureau (admin.lautre.net) :

- le forum AIDE, disponible par liste de diffusion : s'abonner via le bureau ici : https://admin.lautre.net/

- le forum AIDE, disponible par le web ici : https://news.lautre.net/thread.php?group=lautre.aide

- le forum AIDE, disponible par usenet : news://news.lautre.net groupe : lautre.aide

- le forum PHPMYSQL, disponible par le web ici : https://news.lautre.net/thread.php?group=lautre.phpmysql

- le forum PHPMYSQL, disponible par usenet : news://news.lautre.net groupe : lautre.phpmysql

- le forum SPIP, disponible par le web ici : https://news.lautre.net/thread.php?group=lautre.spip

- le forum SPIP, disponible par usenet : news://news.lautre.net groupe : lautre.spip

- Chat lautre.net : http://www.lautre.net/irc/ ou en utilisant votre client IRC préféré : irc.freenode.org channel : #lautre.net

- mail aux administrateurs système : root ( AT ) lautre.net