Configurer son script ou son application pour fonctionner sur plusieurs serveurs

On a souvent besoin de programmer/tester sur un serveur de développement et ensuite de passer l’application sur un serveur de production, hors même a ce moment on continue a bosser sur les 2 serveurs pour rajouter des options ou corriger des bugs … etc
Suivant le serveur sur lequel tourne l’application, les options de configuration seront différentes, tel que les informations pour ce connecter à la base de données, au SMTP, les chemins d’inclusions, ..etc
Ce sera à l’application de choisir les bonnes options suivant le serveur.

Pour que l’application sache sur quel serveur elle est situé, le plus simple est de lire la valeur de $_SERVER['SERVER_NAME'].
en local, la valeur vaut généralement «localhost» ou «127.0.0.1» et sur ce site la valeur est «web.codeur.free.fr».
On peut donc créer le fichier de configuration avec les valeurs utiles pour chaque serveur :

switch($_SERVER['SERVER_NAME']){
    case '127.0.0.1':
    case 'localhost':
        define('MYSQL', 'localhost');
        define('MYSQL_LOGIN', 'general');
        define('MYSQL_PASS', 'alcazar');
        define('MYSQL_BASE', 'maBase');
 
        define('DEBUG', true);
 
        define('PEAR_DIR', 'c:/Program Files/_travail/Apache2/htdocs/classes/PEAR/');
        error_reporting(E_ALL ^ E_DEPRECATED);
        break;
 
    case 'web.codeur.free.fr':
        define('MYSQL', 'sql.free.fr');
        define('MYSQL_LOGIN', 'marco');
        define('MYSQL_PASS', 'polo');
        define('MYSQL_BASE', 'baseFree');
 
        define('DEBUG', false);
 
        define('PEAR_DIR', '/mnt/119/sdb/2/f/web.codeur/classes/PEAR/PEAR/');
        error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE ^ E_DEPRECATED);
        break;
 
    default:
        trigger_error('Erreur serveur : ' . $_SERVER['SERVER_NAME'], E_USER_ERROR);
}

Ce fichier de configuration sera inclut dans tous les scripts ayant besoin de ces valeurs .. et maintenant on peut passer l’application d’un serveur à l’autre sans avoir de modification à faire, c’est pratique.

Laisser un commentaire

*