Wiki des iiens

Piste: phpperso

Services_arise:phpperso

Introduction

Grâce à ARISE, vous avez désormais la possibilité d'utiliser PHP 4 ou PHP 5 sur perso.iiens.net, au choix. Cette option vous est offerte afin que les personnes utilisant leur compte de pages persos puissent mettre à jour leurs scripts PHP vers PHP 5. Une fois la transition finie, seul PHP 5 sera utilisable.

Comment faire pour changer de version de PHP ?

Pour changer la version de PHP utilisée pour afficher vos pages, procédez ainsi:

  1. Allez dans le dossier pour lequel vous voulez changer la version de PHP (par exemple, dans ~/html/ pour l'ensemble de vos pages persos)
  2. S'il n'existe pas déjà, créez un fichier nommé “.htaccess” dans ce répertoire (par exemple, en tapant “vim .htaccess” :) )
  3. Ajoutez le code suivant dans ce fichier : “SetEnv PHP_VER <version>” où <version> est soit 4, soit 5

Si tous vos fichiers utilisent la même version sauf quelques uns, vous pouvez aussi définir une version “globale” et modifier la version juste pour ces fichiers. Pour faire ça, donnez leur l'extension “.php4” ou “.php5” selon la version de PHP à utiliser.

Quelques notes

Vous pouvez très bien définir des versions différentes pour des répertoires différents de votre site web. Par exemple, si l'arborescence de mon dossier ~/html/ est la suivante:

php4/
  test.php (une page de test en PHP 4)
  index.php (page d'accueil en PHP 4)
php5/
  class_mysql.php (une classe écrite pour PHP 5 uniquement)
  index.php (une page d'accueil en PHP 5 utilisant la classe MySQL définie dans class_mysql.php)
  vieux_code.php (une page d'information en PHP 4)

Je peux ajoutez un fichier .htaccess dans chacun des répertoires. Dans “php4/”, le .htaccess contient “SetEnv PHP_VER 4”. Et pour “php5/”, il contient “SetEnv PHP_VER 5”.

Admettons maintenant que le fichier “php5/vieux_code.php” soit une ancienne page d'information écrite en PHP 4, je peux lui donner l'extension .php4 pour qu'il continue de fonctionner correctement, sans empêcher le restant des fichiers du dossier d'être exécutés en utilisant PHP 5.

La nouvelle arborescence est donc :

php4/
  .htaccess (contenant "SetEnv PHP_VER 4")
  test.php
  index.php
php5/
  .htaccess (contenant "SetEnv PHP_VER 5")
  class_mysql.php
  index.php
  vieux_code.php4

ATTENTION : lorsque la version de PHP à utiliser est fixée pour un script, elle l'est aussi pour tous les scripts inclus dans celui-ci. Si on reprend l'arborescence juste au-dessus, si vieux_code.php inclut le fichier class_mysql.php, alors class_mysql.php sera exécuté en utilisant PHP 4 ce qui produira certainement des erreurs !!

Nota bene : PHP 5 est en grande partie rétro-compatible avec PHP 4, donc la plupart de vos scripts PHP 4 devraient fonctionner sous PHP 5 sans que vous ayez besoin de les modifier (la réciproque est en général fausse).