À partir du 01/04/13, nous ne supportons plus les versions PHP 4 et 5.2. En revanche, nous allons dès à présent mettre en œuvre la version PHP 5.4.
Ce tutoriel a pour but de décrire les étapes permettant de mettre en place une version de test d'un site Contao en "production" afin de vérifier que le passage automatique en PHP 5.4 le 01/04 se fera sans "surprise".
On procède en 4 étapes :
1. Préparation de l'environnement de Test
2. Sauvegarde / Recopie du site de Production
3. Paramétrage de l'environnement de Test
4. Bascule du site de Test en PHP 5.4
en considérant que l'on peut se connecter en SSH que l'on utilise :
- pour le site de Production : domaine www.domaine.net et dossier sites/contao-production/
- pour le site de Test : domaine php54.domaine.net et dossier sites/contao-php54/
et que je décline toute responsabilité quant à l'usage que vous pouvez faire de ce tutoriel.
1. Préparation de l'environnement de test :
- Création du dossier contao-php54 (SSH) :
sites> mkdir contao-php54
- Création d'un sous-domaine php54 (Admin 1and1) de domain.net
- Création d'un nouvelle base de données "Contao PHP 5.4" (Admin 1and1 : mot de passe différent de base de production)
2. Sauvegarde / Recopie du site de Production :
- Sauvegarde de la base de données de Production (SSH) dans un dossier tmp :
tmp > mysqldump -h hostProd -u userProd -ppwdProd baseProd > baseProd.sql
- Recopie de la base de Production dans celle de test (SSH) :
tmp > mysql -h hostTest -u userTest -ppwdTest baseTest < baseProd.sql
- Recopie des fichiers (normaux et cachés) du Contao de Production (SSH) :
sites/contao-php54> cp -R ../contao-production/* .
sites/contao-php54> cp -R ../contao-production/.[!.]* .
3. Paramétrage de l'environnement de Test :
- Modification du fichier system/localconfig.php (SSH ou autre) :
sites/contao-php54/system/config> nano localconfig.php
...
$GLOBALS['TL_CONFIG']['dbHost'] = 'hostTest';
$GLOBALS['TL_CONFIG']['dbUser'] = 'userTest';
$GLOBALS['TL_CONFIG']['dbPass'] = 'pwdTest';
$GLOBALS['TL_CONFIG']['dbDatabase'] = 'baseTest';
...
$GLOBALS['TL_CONFIG']['websiteTitle'] = 'Titre du Site'.' >> Test en '.phpversion();
...
- Interdire l'indexation du site de Test :
sites/contao-php54> nano robots.txt
User-agent: *
Disallow: /
- Connexion du domaine (Admin 1and1) de Test php54.domaine.net sur sites/contao-php54/ (dès qu'il est disponible)
- Modification du nom de domaine de la racine du site s'il est défini (Admin Contao)
- Vérification du fonctionnement du site de Test (Frontend et Backend) et de la version actuelle de PHP (Backend)
4. Bascule du site de Test en PHP 5.4 :
Modification du fichier .htaccess pour ne basculer que le site de Test en PHP 5.4
sites/contao-php54> nano .htaccess
# commenter pour revenir en PHP 5.2
AddType x-mapp-php6 .php
AddHandler x-mapp-php6 .php
Le site est passé de la version PHP 5.2.17 à la 5.4.12 (visible dans le Backend), il ne reste plus qu'à tester son bon fonctionnement avec cette nouvelle version.
Bons Tests
F2lt