Configuration avancée
Lorsque PHPDevShell est exécuté, il lit divers fichiers de configuration à partir du dossier /config. Ces fichiers contiennent des informations de configuration, certains sont obligatoires, d'autres sont facultatifs, la plupart ont de bonnes valeurs par défaut. Aucun fichier spécifique n'est obligatoire (c'est-à-dire que vous pouvez entreposer les informations dans n'importe lequel d'entre eux), mais sans les paramètres obligatoires corrects (tels que l'accès à la base de données), PHPDevShell ne pourra pas s'exécuter :
PHPDS-defaults.config.php
L'idée est de prendre les paramètres que vous souhaitez personnaliser à partir de config/PHPDS-defaults.config.php et de les copier dans votre fichier de configuration personnalisé. Cela vous permet d'avoir un ensemble de configuration personnalisé sans que les mises à jour n'écrasent votre configuration.
Les fichiers de configuration
Attention ! Le premier fichier (PHPDS-defaults.config.php) fait partie de la distribution et sera donc écrasé à chaque mise à jour, il est là pour réserver les paramètres par défaut. Vous ne devez pas modifier ce fichier, car vos modifications seront perdues. Pour une configuration simple sur un seul site, utilisez plutôt le fichier single-site.config.php.RENAME (supprimez .RENAME), ou les fichiers de configuration spécifiques au site (voir ci-dessous). single-site.config.php se chargera toujours lorsqu'il sera disponible.
Remplacez les paramètres par défaut en copiant les paramètres de PHPDS-defaults.config.php dans votre propre fichier de configuration.
Par exemple, si vous voulez mettre votre site en mode production, vous copierez depuis PHPDS-defaults.config.php dans votre propre fichier de configuration ou dans single-site.config.php l'instruction suivantes :
- $configuration['production'] = true;
Cela remplacera désormais la valeur par défaut.
Remarque : multi-host.config.php.UNUSED (supprimez .UNUSED pour plusieurs instances d'installation). multi-host.config.php peut contenir plusieurs tableaux de noms d'hôtes.
Ce fichier est destiné à entreposer une liste de fichiers de configuration n'étant pas utilisés par défaut. Par exemple :
- $configuration['host'][$_SERVER['SERVER_NAME']] = 'monsite';
$_SERVER['SERVER_NAME'] peut être remplacé par votre nom de domaine nécessitant sa propre instance d'installation, par exemple :
- $configuration['host']['unsite.com'] = 'monsite';
Avec votre fichier créé comme ceci :
monsite.config.phpNotez que vous pouvez ajouter ici toutes les informations de configuration, il est également conseillé de les placer dans d'autres fichiers de configuration et de ne conserver que ce tableau dans ce fichier.
Ce fichier contient toutes les valeurs par défaut des paramètres requis. Assurez-vous d'avoir au moins un fichier avec des valeurs pour tous ces paramètres.
D'autres fichiers «spécifiques au site» sont chargés (s'ils existent) : un avec le contenu de $configuration['host'][$_SERVER['SERVER_NAME']] (généralement défini dans le fichier multi-host.config.php), un avec $_SERVER['SERVER_NAME'] (tous avec le suffixe .config.php, dans le dossier /config).
Cela signifie que même sans rien modifier dans multi-host.config.php, l'hébergement sur un domaine appelé «www.monsite.com» essaiera automatiquement d'inclure www.monsite.com.config.php.
Remarques
- Tous ces fichiers sont essayés dans cet ordre, donc si un paramètre est défini plusieurs fois, seul le dernier sera utilisé.
- Le nom du serveur provient du serveur Web Apache, donc si vous utilisez un hébergement virtuel, vous pouvez avoir la même installation de PHPDevShell fonctionnant sur plusieurs noms d'hôtes avec une configuration (partiellement ou complètement) différente ; ceci est également vrai pour les serveurs de développement/production.
- Chaque fichier n'est inclus qu'une seule fois ; si un fichier est demandé une deuxième fois, rien ne se passe.
Tous les fichiers, réussis ou non, seront listés dans les variables de configuration $configuration['config_files_used'] et $configuration['config_files_missing'], ainsi en cas de problème vous pourrez détecter si un fichier est manquant ou non.
Exemple
Pour le site «www.gladir.com», supposons :
- $_SERVER['SERVER_NAME'] est "www.gladir.com"
- dans le fichier hôte, $configuration['host']['www.gladir.com'] est défini sur "main-site"
Tous ces fichiers seront essayés, dans l'ordre :
- multi-host.config.php
- PHPDS-defaults.config.php
- single-site.config.php
- main-site.config.php
- www.gladir.com.config.php
avec ce mécanisme, vous pouvez avoir, pour chaque site, un fichier différent pour le serveur de production et le serveur de développement.
Paramètres obligatoires par défaut
Pour fonctionner, PHPDevShell a besoin d'accéder à la base de données. Vous pouvez utiliser une installation simple (pas de modifications manuelles) si vous définissez votre base de données avec les valeurs suivantes :
- database host: localhost
- database name: phpdev
- database user login: phpdev
- database user password: phpdev
Bien sûr, sur un serveur de production, vous devez changer au moins le mot de passe.