Guide de configuration multi-environnement pour ServBay : gestion des versions PHP en ligne de commande et par service Web
I. Environnement en ligne de commande : Application approfondie de .servbay.config
Grâce au fichier de configuration au niveau du projet .servbay.config
, les développeurs peuvent contrôler précisément la version de PHP dans l'environnement en ligne de commande, permettant un développement parallèle de plusieurs projets et une isolation des versions.
1. Fonctionnalités clés et principe
• Coexistence de multiples versions : ServBay prend en charge nativement la coexistence de PHP 5.6 à 8.5-dev, chaque projet spécifiant la version requise via un fichier de configuration indépendant.
• Changement non intrusif : Lors de l'exécution des commandes, ServBay reconnaît automatiquement le fichier .servbay.config
dans le répertoire du projet, charge dynamiquement l'environnement PHP correspondant, évitant les conflits de configuration globale.
2. Méthode de configuration
Créez un fichier .servbay.config
dans le répertoire racine du projet et ajoutez le contenu suivant :
# Spécifiez la version de PHP (exemple : PHP 8.5-dev)
PHP_VERSION=8.5
2
Vérification de l'efficacité :
$ php -v # La sortie de la version doit être 8.5
$ composer install # La résolution des dépendances est basée sur la version PHP actuelle
2
3. Astuces avancées et limitations
• Vérification de la compatibilité des versions : En cas d'erreurs telles que "Class not found", il est nécessaire de vérifier la compatibilité des paquets de dépendance avec la version PHP spécifiée (par exemple, l'extension mcrypt
supprimée dans PHP 8.x).
• Valeur par défaut globale : En cas de non configuration, la version par défaut globale de ServBay est utilisée (modifiable dans les paramètres
de ServBay).
• Collaboration entre services : Combinez la configuration de la version Node.js (NODE_VERSION=20
) pour un contrôle simultané de PHP et Node.js.
4. Exemples d'exécution
Voici un exemple illustrant le mécanisme d'opération de .servbay.config
.
II. Environnement de service Web : Gestion au niveau de site pour plusieurs versions de PHP
L'interface graphique de configuration de site de ServBay offre des capacités de gestion de la version PHP pour le service Web, indépendamment de l'environnement en ligne de commande.
1. Flux de configuration
Ajouter/éditer un site :
• Ouvrez ServBay, accédez à l'onglet Hosts (Sites).
• Cliquez sur + pour créer un nouveau site ou modifier un site existant.
• Sélectionnez la version cible dans le menu déroulant Version PHP (par exemple 8.3, 8.5-dev, etc.).Liaison de chemin et de nom de domaine :
• Répertoire racine : Spécifiez le répertoire public du projet (par exemple/Applications/ServBay/www/laravel-app/public
pour Laravel).
• Domaine : Configurez un nom de domaine personnalisé (par exemplelaravel.host
), supportant l'émission automatique de certificats HTTPS.
2. Mise en œuvre technique et optimisation
• Isolation de service : Chaque version de PHP s'exécute dans un processus indépendant, évitant les fuites de mémoire entre les versions.
• Optimisation des performances : Optimisé pour les architectures ARM64/X86_64.
• Dépannage :
• Vérifiez les journaux : /Applications/ServBay/var/log/php/php_error.log
• Utilisez servbayctl status php 8.5
pour voir l'état du processus.
3. Extension multi-serveurs
• Support Apache/Nginx/Caddy : Dans ServBay 1.7.0 et versions ultérieures, il est possible de changer de serveur Web.
• Interconnexion de bases de données : Combinez plusieurs versions de MySQL/MariaDB/PostgreSQL (par exemple, adaptation de projets Laravel à MariaDB 11.5).
III. Meilleures pratiques de collaboration inter-environnements
Scénario | Configuration en ligne de commande | Configuration de service Web | |
---|---|---|---|
Maintenance des systèmes hérités | .servbay.config définit PHP 5.6 | Configuration du site définit PHP 5.6 | |
Développement de Laravel 11 | Configuration de PHP 8.3 + Node 20 | Liaison de domaine et activation de HTTPS | |
Tests de nouvelles versions | Utilisation de PHP 8.5-dev | Optimisation des caches avec Redis 7.x |
Remarques :
• Il peut y avoir des différences entre les modules PHP du service en ligne de commande et du service Web (par exemple, opcache
désactivé par défaut en mode CLI).
• Mettez à jour ServBay Runtime à 1.0.20/1.1.20 et versions supérieures pour obtenir les nouvelles fonctionnalités PHP.
Avec cette gestion par scénario, les développeurs peuvent pleinement exploiter la capacité de contrôle multi-version de ServBay, tout en alliant flexibilité de développement et cohérence en environnement de production.