Is PHP available on Mac?

PHPBrew: Domina Múltiples Versiones de PHP

07/02/2022

Valoración: 4.04 (15779 votos)

En el vertiginoso mundo del desarrollo web, la flexibilidad es clave. Los proyectos evolucionan, los requisitos de los clientes cambian y las dependencias de software se actualizan constantemente. Un desarrollador puede estar trabajando en un proyecto legacy que requiere PHP 7.4, mientras que un nuevo proyecto necesita las últimas características de PHP 8.2. Gestionar estas diferentes versiones en una sola máquina puede convertirse en una pesadilla logística. Aquí es donde PHPBrew entra en escena, no como una simple herramienta, sino como el ingeniero de pista personal para tu entorno de desarrollo, permitiéndote cambiar de "configuración" de PHP con la misma facilidad con la que un equipo de F1 cambia los neumáticos.

What is PHPbrew?
phpbrew builds and installs multiple version php(s) in your $HOME directory. What phpbrew can do for you: Configure options are simplified into variants, no worries about the path anymore! Build php with different variants like PDO, mysql, sqlite, debug ...etc.

PHPBrew es una poderosa herramienta de línea de comandos que permite construir, instalar y gestionar múltiples versiones de PHP en tu directorio personal ($HOME), eliminando la necesidad de permisos de superusuario y evitando conflictos con la versión de PHP instalada por el sistema operativo. Es la solución definitiva para crear entornos de desarrollo aislados, personalizados y fácilmente intercambiables.

Índice de Contenido

¿Qué es PHPBrew y por qué es una herramienta esencial?

Imagina tener la capacidad de compilar cualquier versión de PHP con las extensiones y configuraciones exactas que necesitas para cada proyecto. PHPBrew hace esto posible simplificando radicalmente el proceso de compilación. Olvídate de lidiar manualmente con rutas de dependencias, scripts de configuración complejos y la posibilidad de romper la configuración global de tu sistema. Esta herramienta automatiza y gestiona todo el proceso por ti.

Ventajas Clave de Utilizar PHPBrew

  • Aislamiento Total: Cada versión de PHP se instala en su propio directorio dentro de ~/.phpbrew, lo que garantiza que no haya conflictos entre ellas ni con el PHP del sistema.
  • Sin necesidad de Root: Al instalarse en el directorio del usuario, no necesitas privilegios de sudo para instalar nuevas versiones de PHP o cambiar entre ellas.
  • Alta Personalización con "Variantes": PHPBrew introduce el concepto de "variantes", que son conjuntos predefinidos de opciones de configuración. En lugar de escribir largos comandos ./configure, simplemente especificas las variantes que necesitas, como +mysql, +pdo, +debug.
  • Fácil Cambio de Versión: Con comandos simples como phpbrew switch y phpbrew use, puedes cambiar la versión de PHP activa globalmente o solo para tu sesión de terminal actual en cuestión de segundos.
  • Gestión de Extensiones: Permite instalar y habilitar extensiones de PHP directamente en el entorno activo de forma sencilla.
  • Integración con el Shell: Se integra perfectamente con shells como Bash, Zsh y Fish para gestionar automáticamente la variable de entorno $PATH.

Primeros Pasos: Instalación y Configuración Inicial

Poner en marcha PHPBrew es un proceso rápido y directo. Solo necesitas seguir unos pocos pasos para tenerlo funcionando en tu sistema (Linux o macOS).

Paso 1: Descargar PHPBrew

El primer paso es descargar el archivo PHAR (PHP Archive) que contiene la aplicación. Abre tu terminal y ejecuta los siguientes comandos:

curl -L -O https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar chmod +x phpbrew.phar

Paso 2: Mover PHPBrew a tu PATH

Para poder ejecutar phpbrew desde cualquier lugar, muévelo a un directorio que esté en tu $PATH, como /usr/local/bin.

sudo mv phpbrew.phar /usr/local/bin/phpbrew

Paso 3: Inicializar PHPBrew

Una vez instalado, debes inicializar la estructura de directorios y los scripts de configuración necesarios. Este comando creará el directorio ~/.phpbrew donde se almacenarán todas tus instalaciones de PHP.

phpbrew init

Paso 4: Integrar con tu Shell

Este es un paso crucial. Debes agregar una línea a tu archivo de configuración del shell (.bashrc, .zshrc, etc.) para que PHPBrew pueda modificar tu entorno cada vez que inicies una nueva terminal. Agrega la siguiente línea al final de tu archivo:

Para Bash o Zsh (en ~/.bashrc o ~/.zshrc):

[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc

Para Fish (en ~/.config/fish/config.fish):

source ~/.phpbrew/phpbrew.fish

Después de guardar el archivo, reinicia tu terminal o ejecuta source ~/.bashrc (o el archivo correspondiente) para aplicar los cambios.

What is PHPbrew?
phpbrew builds and installs multiple version php(s) in your $HOME directory. What phpbrew can do for you: Configure options are simplified into variants, no worries about the path anymore! Build php with different variants like PDO, mysql, sqlite, debug ...etc.

Construyendo tu Propio PHP: Comandos y Variantes

Con PHPBrew configurado, estás listo para empezar a construir tus propias versiones de PHP. El poder real de PHPBrew reside en su sistema de variantes, que simplifica enormemente la personalización de cada compilación.

Explorando las Versiones Disponibles

Primero, veamos qué versiones de PHP puedes instalar. El comando known te mostrará una lista de las versiones estables más recientes.

phpbrew known

Si necesitas una lista más exhaustiva, incluyendo versiones más antiguas o parches menores, puedes usar:

phpbrew update phpbrew known --more

Instalando tu Primera Versión de PHP

La instalación es tan simple como elegir una versión y las variantes que necesitas. Las variantes se añaden con un prefijo +. Existe una variante virtual llamada +default que incluye un conjunto de extensiones comúnmente utilizadas (como bcmath, bz2, calendar, cli, ctype, dom, xml, etc.), lo cual es un excelente punto de partida.

Para instalar PHP 8.1 con las variantes por defecto y soporte para MySQL y PostgreSQL, el comando sería:

phpbrew install 8.1 +default +mysql +pgsql

Para acelerar el proceso de compilación en máquinas con múltiples núcleos, puedes usar la opción -j para especificar el número de trabajos paralelos.

phpbrew install -j $(nproc) 8.1 +default +mysql +pgsql

Si quieres deshabilitar una variante que viene incluida en un conjunto como `default`, puedes usar el prefijo `-`. Por ejemplo, para instalar PHP sin la variante de depuración:

phpbrew install 8.2 +default -debug

Gestión de Versiones: El Día a Día con PHPBrew

Una vez que tienes varias versiones instaladas, gestionarlas es increíblemente sencillo.

Listar Versiones Instaladas

Para ver todas las versiones de PHP que has compilado con PHPBrew, utiliza:

phpbrew list

Cambiar de Versión de PHP

PHPBrew ofrece dos formas de cambiar la versión activa:

  • use: Cambia la versión de PHP solo para la sesión de terminal actual. Es útil para ejecutar una tarea rápida con una versión específica sin cambiar tu configuración global.
  • phpbrew use 7.4
  • switch: Cambia la versión de PHP por defecto para todas las nuevas terminales que abras. Este es el comando que usarás con más frecuencia.
  • phpbrew switch 8.1

Desactivar PHPBrew

Si en algún momento necesitas volver a la versión de PHP de tu sistema, puedes desactivar PHPBrew temporalmente con:

phpbrew off

Esto simplemente elimina las rutas de PHPBrew de tu $PATH para la sesión actual, sin desinstalar nada.

Tabla Comparativa: PHPBrew vs. Gestores de Paquetes

Es común preguntarse cómo se compara PHPBrew con herramientas como Homebrew (en macOS) o APT/DNF (en Linux). La siguiente tabla resalta las diferencias clave:

CaracterísticaPHPBrewGestores de Paquetes (Homebrew, APT, DNF)
Gestión de Múltiples VersionesNativo y principal objetivo de la herramienta.Limitado, a menudo requiere repositorios de terceros y trucos para coexistir.
Aislamiento de EntornosTotal. Cada versión es independiente en ~/.phpbrew.Bajo. Las instalaciones suelen ser a nivel de sistema, con riesgo de conflictos.
Nivel de PersonalizaciónExtremadamente alto. Control total sobre las opciones de compilación a través de variantes.Limitado a las opciones precompiladas del paquete.
Requisitos de PermisosNinguno (después de la instalación inicial).Se requiere sudo para instalar o actualizar paquetes.
Fuente de PHPCompila directamente desde el código fuente oficial de PHP.Utiliza binarios precompilados por los mantenedores del repositorio.

Funcionalidades Avanzadas que Marcan la Diferencia

Más allá de la instalación básica, PHPBrew ofrece herramientas que optimizan aún más el flujo de trabajo del desarrollador.

How to install PHP in Alpine Linux?
PHP ALPINE LINUX INSTALLATION , Update the System Packages. Before installing any new software, it's recommended to update the system packages by executing: $ sudo apk update. , Install PHP. Next, install PHP via the following command: $ sudo apk add php

Gestión de PHP-FPM

Para los desarrolladores web que usan Nginx o Apache con FastCGI, la gestión de PHP-FPM es crucial. Si instalaste una versión de PHP con la variante +fpm, PHPBrew te proporciona comandos para controlar el servicio:

  • phpbrew fpm start: Inicia el servicio PHP-FPM.
  • phpbrew fpm stop: Detiene el servicio.
  • phpbrew fpm test: Valida tu archivo de configuración de FPM.
  • phpbrew fpm config: Abre el archivo de configuración de FPM en tu editor por defecto.

Esto es increíblemente útil, ya que cada versión de PHP tendrá su propio servicio FPM, permitiéndote ejecutar diferentes sitios en diferentes versiones de PHP simultáneamente.

Personalización del Prompt del Shell

Para saber siempre qué versión de PHP estás utilizando, puedes configurar PHPBrew para que muestre la versión activa directamente en el prompt de tu terminal. Simplemente añade esta línea a tu .bashrc o .zshrc antes de la línea de source de PHPBrew:

export PHPBREW_SET_PROMPT=1

Preguntas Frecuentes (FAQ)

¿Puedo instalar la misma versión de PHP con diferentes configuraciones?

Sí. La forma recomendada es instalar la versión, por ejemplo php-8.1.10, y luego renombrar manualmente el directorio de instalación dentro de ~/.phpbrew/php/ a algo descriptivo, como php-8.1.10-debug. Después, puedes volver a instalar la misma versión con un conjunto diferente de variantes.

¿Qué hago si una compilación falla?

Los fallos de compilación suelen deberse a dependencias de desarrollo faltantes en tu sistema (como `libxml2-dev`, `libsqlite3-dev`, etc.). Revisa el log de compilación que se encuentra en ~/.phpbrew/build/php-X.Y.Z/build.log para identificar el error exacto. Una vez resuelta la dependencia, puedes limpiar el intento fallido con phpbrew clean php-X.Y.Z e intentarlo de nuevo.

¿PHPBrew funciona en Windows?

No. PHPBrew está diseñado para sistemas operativos tipo Unix, como Linux y macOS. Para Windows, alternativas como Laragon, XAMPP o el uso de WSL (Windows Subsystem for Linux) son más adecuadas.

¿Cómo mantengo PHPBrew actualizado?

PHPBrew tiene un comando de auto-actualización muy conveniente. Simplemente ejecuta:

phpbrew self-update

¿Es PHPBrew mejor que Docker para el desarrollo local?

Son herramientas diferentes para problemas diferentes. PHPBrew es excelente para gestionar versiones de PHP en tu máquina anfitriona de forma nativa. Docker, por otro lado, aísla todo el stack de la aplicación (servidor web, base de datos, PHP) en contenedores. PHPBrew es más ligero y rápido para cambiar de versión de PHP, mientras que Docker ofrece un aislamiento más completo y una portabilidad perfecta a producción. Muchos desarrolladores usan ambos: PHPBrew para tareas rápidas y scripting, y Docker para proyectos de aplicaciones completas.

Conclusión

PHPBrew es más que un simple gestor de versiones; es una herramienta de productividad que devuelve el control al desarrollador. Libera de las restricciones de una única versión de sistema, facilita la experimentación y asegura que cada proyecto se ejecute en el entorno preciso para el que fue diseñado. Al adoptar PHPBrew, estás equipando tu taller de desarrollo con una pieza de ingeniería de precisión, garantizando que siempre tengas la herramienta adecuada para cada trabajo, sin importar cuán diverso o exigente sea.

Si quieres conocer otros artículos parecidos a PHPBrew: Domina Múltiples Versiones de PHP puedes visitar la categoría Automovilismo.

Subir