Instalar dos versiones de php en Windows - Greetik Soluciones - Consultoría TIC Extremadura
Composer, PHP2022-02-17 11:00:11Greetik Soluciones SL200900

Instalar dos versiones de php en Windows

A veces es necesario mantener en el ordenador dos versiones distintas de php para trabajar con diferentes proyectos. Por ejemplo, en el caso que vamos a comentar tenemos instalado una versión de xampp con php 7.4, pero por requisitos de un nuevo proyecto necesitamos utilizar php 8.1. En este caso lo que vamos a hacer es instalar xampp de nuevo, en otro directorio aparte, para mantener ambas versiones.

 

Si al ejecutar el localhost iniciamos apache en uno u otro xampp, podrás ver que efectivamente estaría corriendo la versión de php ejecutada. Recuerda que solamente podrás mantener uno de los dos en ejecución.

 

Ahora bien, al querer iniciar un nuevo proyecto y ejecutar php en el mismo desde la consola, podemos comprobar que la versión que se reconoce es la antigua (en este caso la de php 7.4) aunque tengas el nuevo xampp funcionando.

 

Esto es porque al ejecutar cualquier comando de php lo que se ejecuta es la ruta que hay dentro del path de windows, que podemos ver si abrimos Sistema >> Configuración avanzada del sistema >> Variables de entorno, y dentro de las Variables del sistema abrimos para editar la línea del Path, donde podemos ver la ruta de php.

 

Si cambiamos la ruta C:\xampp\php a la nueva instalación C:\xampp_php81\php en teoría funcionaría ya bajo la versión 8.1, pero dejaría de funcionar en la 7.4, así que de momento lo dejamos como está.

En nuestro caso concreto necesitamos instalar algo con composer, que depende de php, y para hacer una instalación de composer necesitamos llamar a la versión 8.1 de php (recuerda que nuestro sistema todavía "corre" bajo la 7.4). Así que debemos avisar al sistema que no queremos utilizar la versión por defecto de php, sino otra, con lo que debemos escribir primero la ruta donde se encuentra el fichero ejecutable de la versión 8.1 de php (en nuestro caso la ruta es C:\xampp_php81\php\php.exe)

Además de esto debemos abrir composer, y necesitamos añadir la ruta hasta el fichero de ejecución donde se encuentre instalado composer (C:\ProgramData\ComposerSetup\bin\composer.phar).

Ya con toda esta información podemos, por ejemplo, crear un nuevo proyecto de Laravel 9, que necesita correr bajo php 8. Para proceder con la instalación escribimos el siguiente comando dentro de C:\xampp_php81\htdocs:

C:\xampp_php81\php\php.exe C:\ProgramData\ComposerSetup\bin\composer.phar create-project laravel/laravel nombreproyecto "9.*"

 

 

Donde escribir C:\xampp_php81\php\php.exe C:\ProgramData\ComposerSetup\bin\composer.phar equivale a escribir directamente composer, pero utilizando otra versión de php que no es la que está configurada por defecto en el sistema. Y ojo, recuerda que cada vez que vayas a ejecutar composer tendrás que hacerlo de esta manera.