
Miguel92
Alfa
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola a todos, les comparto una forma que he realizado para cambiar de versión de PHP de forma más automática y no tan manual, lo único molesto será descargar, buscar y reemplazar algunas cosas, pero una vez hecho esto, ya no será problema.
(cabe recalcar, que hoy me acabó de que existe laragon)
Bueno, lo primero es descargar la versión que se desee de forma "portable", ya que vamos a requerir algunas carpetas, por ejemplo esta versión:
PHP 8.2.12 (zip desde SourceForge)
Otras versiones Xampp/Files (windows)
Las carpetas que necesitaremos:
apache/
mysql/
php/
Pueden crear una carpeta llama versiones y dentro de ella crear la carpeta con la versión que tenga, en mi caso es
versiones_php
-- /7.4.33
-- /8.2.12
Ahora en esas carpetas hay que buscar lo que deben reemplazar, si usan un editor como VSCode, Sublime text u otro, pueden buscar y reemplazar por lote.
Buscar (igual esto esta en un solo archivo, apache/conf/extra/httpd-xampp.conf)
\\xampp\\
Reemplazar (más bien, agregar la unidad donde tengan instalado el xampp)
C:\\xampp\\
Luego hacer lo mismo, pero buscando
/xampp/
Y exactamente lo mismo que el anterior
C:/xampp/
Ya que tengan modificados, crear un archivo y lo pueden guardar como "cambiar_version.bat" o como quieran llamarlo pero con .bat, y en el agregan lo siguiente.
(Ahora tiene un poco más de espaciado, también estará en el archivo adjunto)
Ahora, en esta parte debe tener el mismo nombre que las carpetas de las versiones escogidas, en mi caso es
if "%SELECT_VERSION%"=="1" set SELECT_VERSION=7.4.33 (nombre de la carpeta)
if "%SELECT_VERSION%"=="2" set SELECT_VERSION=8.2.12 (nombre de la carpeta)
Acá es desde donde va a copiar en donde lo va a copiar, en mi caso lo tengo en C:\ más practico para mí. Pero si lo tiene en otra ubicación deberán poner la ruta de dicha ubicación modificando esto C:\versiones_php\
xcopy /e /i C:\versiones_php\%SELECT_VERSION% C:\xampp
NOTA: Esto reemplazará los archivos existentes, se que en xampp/mysql/data se guardan las bases de datos y que estarán las bases de sus proyectos, estos no serán tocados, ni reemplazados, por que no los tiene las versiones de xampp, estas son las únicas 'carpetas' que hay dentro de mysql/data/
Para usarlo, lo ejecutan como administrador y verán lo siguiente:
Una vez que termina, volverá al menú principal, este proceso tardará unos minutos...
Hagan copia de seguridad a sus bases, por si acaso, si desconfían, pueden buscar información sobre lo que hace cada línea.
Comandos en CMD: xcopy, echo, rd, cls, if, set-option, goto
PD: Si en su versión actual de xampp tienen alguna configuración de php.ini, les sugiero que se lo apliquen a las versiones o versión que tengan.
Espero que les sirva, úsenlo con cuidado!
(cabe recalcar, que hoy me acabó de que existe laragon)
Bueno, lo primero es descargar la versión que se desee de forma "portable", ya que vamos a requerir algunas carpetas, por ejemplo esta versión:
PHP 8.2.12 (zip desde SourceForge)
Otras versiones Xampp/Files (windows)
Las carpetas que necesitaremos:
apache/
mysql/
php/
Pueden crear una carpeta llama versiones y dentro de ella crear la carpeta con la versión que tenga, en mi caso es
versiones_php
-- /7.4.33
-- /8.2.12
Ahora en esas carpetas hay que buscar lo que deben reemplazar, si usan un editor como VSCode, Sublime text u otro, pueden buscar y reemplazar por lote.
Buscar (igual esto esta en un solo archivo, apache/conf/extra/httpd-xampp.conf)
\\xampp\\
Reemplazar (más bien, agregar la unidad donde tengan instalado el xampp)
C:\\xampp\\
Luego hacer lo mismo, pero buscando
/xampp/
Y exactamente lo mismo que el anterior
C:/xampp/
Ya que tengan modificados, crear un archivo y lo pueden guardar como "cambiar_version.bat" o como quieran llamarlo pero con .bat, y en el agregan lo siguiente.
Insertar CODE, HTML o PHP:
@echo off
:menu
cls
echo ====# Desde este .bat podrás cambiar de version rápido!
echo.
echo # 1 - Cambiar Version de PHP
echo # 2 - Salir
echo.
set /p OPTION=ESCOGE UNA OPCION:
if "%OPTION%"=="1" goto change_php_version
if "%OPTION%"=="2" goto out_of_cmd
goto menu
:change_php_version
cls
echo ==========================================================================
echo Desde aca podras cambiar la version de tu PHP sin problemas y rapido
echo ==========================================================================
echo.
echo # 1 - PHP v7.4.33 (carpeta '7.4.33')
echo # 2 - PHP v8.2.12 (carpeta '8.2.12')
echo.
echo ====# ANTES DE EMPEZAR DEBES TENER LOS SERVICIOS DE XAMPP DETENIDOS #====
echo.
set /p SELECT_VERSION=ESCOGE UNA OPCION:
if "%SELECT_VERSION%"=="1" set SELECT_VERSION=7.4.33
if "%SELECT_VERSION%"=="2" set SELECT_VERSION=8.2.12
cls
echo ====# Eliminando Apache...
rd /s /q C:\xampp\apache
echo.
echo ====# Copiando archivos de Apache (PHP %SELECT_VERSION%)
xcopy /e /i /y /q C:\versiones_php\%SELECT_VERSION%\apache C:\xampp\apache
echo.
echo.
echo ====# Eliminando PHP...
rd /s /q C:\xampp\php
echo.
echo ====# Copiando archivos de PHP %SELECT_VERSION%
xcopy /e /i /y /q C:\versiones_php\%SELECT_VERSION%\php C:\xampp\php
echo.
echo.
echo ====# Copiando archivos de MySQL (PHP %SELECT_VERSION%)
xcopy /s /e /c /k /-y /h /q C:\versiones_php\%SELECT_VERSION%\mysql C:\xampp\mysql
goto menu
:out_of_cmd
cls
echo.
echo CERRANDO SISTEMA
echo.
exit
Ahora, en esta parte debe tener el mismo nombre que las carpetas de las versiones escogidas, en mi caso es
if "%SELECT_VERSION%"=="1" set SELECT_VERSION=7.4.33 (nombre de la carpeta)
if "%SELECT_VERSION%"=="2" set SELECT_VERSION=8.2.12 (nombre de la carpeta)
Acá es desde donde va a copiar en donde lo va a copiar, en mi caso lo tengo en C:\ más practico para mí. Pero si lo tiene en otra ubicación deberán poner la ruta de dicha ubicación modificando esto C:\versiones_php\
xcopy /e /i C:\versiones_php\%SELECT_VERSION% C:\xampp
NOTA: Esto reemplazará los archivos existentes, se que en xampp/mysql/data se guardan las bases de datos y que estarán las bases de sus proyectos, estos no serán tocados, ni reemplazados, por que no los tiene las versiones de xampp, estas son las únicas 'carpetas' que hay dentro de mysql/data/
Para usarlo, lo ejecutan como administrador y verán lo siguiente:





Una vez que termina, volverá al menú principal, este proceso tardará unos minutos...


Hagan copia de seguridad a sus bases, por si acaso, si desconfían, pueden buscar información sobre lo que hace cada línea.
Comandos en CMD: xcopy, echo, rd, cls, if, set-option, goto
PD: Si en su versión actual de xampp tienen alguna configuración de php.ini, les sugiero que se lo apliquen a las versiones o versión que tengan.
Espero que les sirva, úsenlo con cuidado!