Guía de Configuración de Múltiples Entornos de ServBay: Gestión de Versiones de PHP en Línea de Comandos y Servicios Web
I. Entorno de Línea de Comandos: Aplicación Profunda de .servbay.config
A través del archivo de configuración a nivel de proyecto .servbay.config
, los desarrolladores pueden controlar de manera precisa la versión de PHP en el entorno de línea de comandos, permitiendo el desarrollo paralelo de múltiples proyectos y la separación de versiones.
1. Funciones Clave y Principios
• Convivencia de Múltiples Versiones: ServBay admite de forma nativa la convivencia de PHP 5.6 a 8.5-dev, permitiendo que cada proyecto especifique la versión requerida a través de archivos de configuración independientes.
• Cambio Sin Invasión: Al ejecutar un comando, ServBay detecta automáticamente el archivo .servbay.config
en el directorio del proyecto, cargando dinámicamente el entorno PHP correspondiente, evitando conflictos de configuración global.
2. Método de Configuración
Cree el archivo .servbay.config
en el directorio raíz del proyecto y añada el siguiente contenido:
# Especificar la versión de PHP (ejemplo: PHP 8.5-dev)
PHP_VERSION=8.5
2
Verificación de Efecto:
$ php -v # La salida de la versión debería ser 8.5
$ composer install # La resolución de dependencias se basa en la versión actual de PHP
2
3. Consejos Avanzados y Limitaciones
• Comprobación de Compatibilidad de Versiones: Si se encuentra con errores como "Class not found", se debe verificar la compatibilidad del paquete de dependencia con la versión de PHP especificada (por ejemplo, la extensión mcrypt
eliminada en PHP 8.x).
• Valores Predeterminados Globales: Si no se ha configurado, se utiliza la versión predeterminada global de ServBay (que se puede modificar en la configuración de ServBay).
• Colaboración entre Servicios: Combine la configuración de versiones de Node.js (NODE_VERSION=20
) para controlar entornos duales de PHP + Node.js.
4. Ejemplo de Ejecución
A continuación, se presenta un ejemplo práctico que ilustra el mecanismo de operación de .servbay.config
.
II. Entorno de Servicios Web: Gestión a Nivel de Sitio de Múltiples Versiones de PHP
La interfaz gráfica de configuración de sitios de ServBay proporciona la capacidad de gestionar versiones de PHP para servicios web, de manera independiente del entorno de línea de comandos.
1. Proceso de Configuración
Agregar/Editar Sitio:
• Abra ServBay y acceda a la pestaña Hosts (Sitios).
• Haga clic en + para crear un nuevo sitio o editar uno existente.
• En el menú desplegable de PHP Version, seleccione la versión objetivo (como 8.3, 8.5-dev, etc.).Vinculación de Rutas y Nombres de Dominio:
• Directorio Raíz: Especifique el directorio público del proyecto (por ejemplo, el/Applications/ServBay/www/laravel-app/public
de Laravel).
• Dominio: Configure un nombre de dominio personalizado (comolaravel.host
), con soporte para la emisión automática de HTTPS.
2. Implementación Técnica y Optimización
• Aislamiento de Servicios: Cada versión de PHP se ejecuta en un proceso independiente, evitando la contaminación por fugas de memoria entre versiones.
• Optimización de Rendimiento: Optimizado para las arquitecturas ARM64/X86_64.
• Solución de Errores:
• Revisar registros: /Applications/ServBay/var/log/php/php_error.log
• Use servbayctl status php 8.5
para ver el estado del proceso.
3. Expansión de Múltiples Servidores
• Soporte para Apache/Nginx/Caddy: A partir de ServBay 1.7.0+, puede cambiar de servidor web.
• Interacción de Bases de Datos: Combine múltiples versiones de MySQL/MariaDB/PostgreSQL (como el ajuste de proyectos de Laravel a MariaDB 11.5).
III. Mejores Prácticas de Colaboración entre Entornos
Escenario | Configuración de Línea de Comandos | Configuración de Servicios Web | |
---|---|---|---|
Mantenimiento de Sistemas Legados | .servbay.config establece PHP 5.6 | Configuración del sitio selecciona PHP 5.6 | |
Desarrollo en Laravel 11 | Configuración de PHP 8.3 + Node 20 | Vinculación de dominio y habilitación de HTTPS | |
Pruebas de Nuevas Versiones | Uso de PHP 8.5-dev | Optimización de caché con Redis 7.x |
Consideraciones:
• Puede haber diferencias entre los módulos PHP de la línea de comandos y los servicios web (por ejemplo, opcache
está desactivado por defecto en modo CLI).
• Actualice ServBay Runtime a 1.0.20/1.1.20+ para obtener las últimas características de PHP.
A través de la gestión en los distintos escenarios mencionados, los desarrolladores pueden maximizar la capacidad de control de múltiples versiones de ServBay, equilibrando la flexibilidad de desarrollo y la consistencia en el entorno de producción.