¿Por qué cambiar entre versiones de PHP cuando puede usar varias versiones de PHP al mismo tiempo con una sola instalación de xampp ? Con una sola instalación de xampp, tiene 2 opciones:
Ejecute una versión PHP anterior solo para el directorio de su proyecto anterior:
esto servirá para el propósito la mayor parte del tiempo, es posible que tenga uno o dos proyectos antiguos que desee ejecutar con una versión PHP anterior. Simplemente configure xampp para ejecutar una versión PHP anterior solo para esos directorios de proyecto.
Ejecute una versión anterior de PHP en un puerto separado de xampp: a veces puede estar actualizando un proyecto anterior a la última versión de PHP cuando necesita ejecutar el mismo proyecto en versiones de PHP nuevas y anteriores de un lado a otro. Luego puede configurar una versión anterior de PHP en un puerto diferente (digamos 8056) para que cuando vaya a http://localhost/any_project/
xampp ejecute PHP 7 y cuando vaya a http://localhost:8056/any_project/
xampp ejecute PHP 5.6.
Ejecute una versión anterior de PHP en un host virtual: puede crear un host virtual como localhost56 para ejecutar PHP 5.6 mientras puede usar PHP 7 en localhost.
Vamos a configurarlo.
Paso 1: descarga PHP
Entonces, tiene PHP 7 ejecutándose bajo xampp, desea agregar una versión anterior de PHP, digamos PHP 5.6. Descargue la versión nts (Non Thread Safe) del archivo zip PHP de php.net (consulte el archivo para versiones anteriores) y extraiga los archivos que se encuentran debajo c:\xampp\php56
. La versión segura para subprocesos no incluye php-cgi.exe.
Paso 2: configurarphp.ini
Abrir c:\xampp\php56\php.ini
archivo en el bloc de notas. Si el archivo no existe copia php.ini-development
de php.ini
y abrirlo en el Bloc de notas. Luego, descomenta la siguiente línea:
extension_dir = "ext"
Paso 3: configurar apache
Abra el panel de control de xampp, haga clic en el botón de configuración para apache y haga clic en Apache (httpd-xampp.conf)
. Se abrirá un archivo de texto, coloque la siguiente configuración en la parte inferior del archivo:
ScriptAlias /php56 "C:/xampp/php56"
Action application/x-httpd-php56-cgi /php56/php-cgi.exe
<Directory "C:/xampp/php56">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
Nota: Si lo desea, puede agregar más versiones de PHP a su instalación de xampp siguiendo los pasos 1 a 3.
Paso 4 (opción 1): [Agregar directorios para ejecutar una versión específica de PHP]
Ahora puede configurar directorios que se ejecutarán en PHP 5.6. Simplemente agregue lo siguiente en la parte inferior del archivo de configuración para establecer directorios.
<Directory "C:\xampp\htdocs\my_old_project1">
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</Directory>
<Directory "C:\xampp\htdocs\my_old_project2">
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</Directory>
Paso 4 (opción 2): [Ejecutar una versión PHP anterior en un puerto separado]
Ahora para configurar PHP v5.6 en el puerto 8056, agregue el siguiente código al final del archivo de configuración.
Listen 8056
<VirtualHost *:8056>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
Paso 4 (opción 3): [Ejecutar una versión PHP anterior en un host virtual]
Para crear un virtualhost (localhost56) en un directorio (htdocs56) para usar PHP v5.6 en http: // localhost56 , cree el directorio htdocs56 en la ubicación deseada y agregue localhost56 a su archivo de hosts ( vea cómo ), luego agregue el siguiente código al final del archivo httpd-xampp.conf.
<VirtualHost localhost56:80>
DocumentRoot "C:\xampp\htdocs56"
ServerName localhost56
<Directory "C:\xampp\htdocs56">
Require all granted
</Directory>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
Finalizar: guardar y reiniciar Apache
Guarde y cierre el archivo de configuración, reinicie apache desde el panel de control de xampp. Si eligió la opción 2, puede ver el puerto adicional (8056) en su panel de control de xampp.
Actualización del error:
encabezado con formato incorrecto del script 'php-cgi.exe': encabezado incorrecto
Si encuentra el error anterior, abra de httpd-xampp.conf
nuevo y comente la siguiente línea con un número inicial (carácter hash).
SetEnv PHPRC "\\path\\to\\xampp\\php"