Conseguir que XAMPP funcione con múltiples versiones de PHP

18

¿Cómo puedo instalar XAMPP para trabajar con diferentes versiones de PHP?

Uso XAMPP porque algunos de los scripts tienen errores cuando se ejecutan en WAMP. Yo uso WAMP porque es compatible con diferentes versiones de PHP.

Pero ahora me gustaría simplificarlo a XAMPP para que mi desarrollo web sea más fácil de administrar.

¿Es posible configurar XAMPP para que funcione con más de una versión de PHP? ¿O es algo que debo buscar en una solución alternativa?

Nota: estoy ejecutando en Windows 7.

Pennf0lio
fuente
Es posible que desee utilizar WAMPSERVER en lugar de Xampp. WAMPSEVER contiene la bandeja de cambio de versión de PHP; Lo cual es útil.
Weijing Jay Lin

Respuestas:

8

Tenga en cuenta que
esta respuesta no es válida para la nueva versión de XAMPP.


Primero, deberá detener Apache de XAMPP . Luego,

Ve a cmd y cambia a tu carpeta XAMPP. Por ejemplo, si su carpeta XAMPP está en C: \

C:\>cd C:\XAMPP 

En esta carpeta hay un archivo llamado php-switch.bat, ejecutado desde la línea de comando. Si no, también puedes ejecutarlo php-switch.batdirectamente.

Verá la versión en la que se encuentra ahora y el procedimiento para cambiar. Por ejemplo, escriba 4para cambiar PHP 4 y luego siga el procedimiento.

php-switch.bat ejecutándose en la terminal

PHP 4 se instalará en su directorio XAMPP \ PHP y cambiará con éxito. luego vuelva a habilitar el Apache.

Ye Lin Aung
fuente
1
No puedo encontrar php-switch.bat en XAMPP 1.7.3 que instalé. ¿Existe una versión específica de xamp que lo admita? ¡Gracias!
Pennf0lio
Ups Creo que la versión actual ya no incluye php4 apachefriends.org/f/viewtopic.php?f=16&t=33327 .. Creo que necesitará la versión anterior si desea cambiar a v4
Ye Lin Aung
44
esto ya no es válido en las versiones más nuevas de XAMPP
mauris
1
¿Qué ya no es válido? ¿Instalar PHP4 o versiones swiching?
AlxVallejo
44
no hay más php-switch.bat en la nueva versión
Toskan
5

El mejor método es cambiar la configuración de PHP en

/apache/conf/extra/httpd-xampp.conf

para reflejar la nueva versión de PHP que desea usar

En mi caso, descomprimí PHP5.4 en C: \ XAMPPLITE \ PHP5.4 y luego actualicé las líneas clave en este archivo como:

SetEnv PHPRC "C:\\xampplite\\php5.4"

LoadFile "C:/xampplite/php5.4/php5ts.dll"

PHPINIDir "C:/xampplite/php5.4"

También debe asegurarse de que esté instalada la versión correcta de php5apache2_2.dll

Para asegurar esto, copié la nueva versión de php5apache2_2.dll en el directorio de módulos de Apache con un nombre único, y luego modifiqué la configuración para que coincida con eso:

copy php5.4\php5apache2_2.dll apache\modules\php5apache2_2-5_4.dll

y en el archivo httpd-xampp.conf

LoadModule php5_module modules/php5apache2_2-5_4.dll
Vibración
fuente
1

Si sus scripts tienen errores, seguirán teniendo errores sin importar qué paquetes de servidor cambie. Si el problema está en las configuraciones de su servidor, profundice y resuélvalo.

Una solución real seria instalar y administrar los componentes del servidor (y sus configuraciones) manualmente. Desde que cambié de WAMP a la instalación de un servidor autoadministrado, nunca más volví a sentir la necesidad de soluciones de servidor preempaquetadas.

Antichris
fuente
¡Gracias por el consejo! La mayoría de la discusión sugiere usar XAMPP como una solución rápida y sucia para el problema del script. Si bien tiene un punto, para mí es aconsejable simplemente cambiar el servidor (porque es rápido) en comparación con desordenar con la configuración del servidor que no tengo idea de dónde comenzar.
Pennf0lio
Bueno ... Tarde o temprano podrías llegar a una situación en la que no hay otra opción que profundizar en las configuraciones (como configurar un servidor a través de una conexión de terminal). En caso de que cambie de opinión, podría intentar diferenciar sus archivos de configuración predefinidos XAMPP / WAMP / LAMP con los de una instalación de servidor independiente nueva y luego buscar manuales sobre lo que significan esas diferencias. Así aprendí lo que sé ahora.
Antichris
Genial, gracias por el consejo. Sí, estoy de acuerdo con su punto. Pero por ahora solo trataré mi problema uno por uno y buscaré la solución más rápida. : PI tiene muchos plazos. Realmente aprecio la ayuda :)
Pennf0lio
Hice una pregunta similar pero con más funcionalidad aquí serverfault.com/questions/121810/… Quería actualizar elementos individuales como apache, mysql, php y phpmyadmin en mi xampp. Todavía estoy buscando una solución a esto. Si alguien encuentra una solución, hágamelo saber. Gracias
Gaurav Sharma
1

Si desea esa característica (es decir, la capacidad de mezclar y combinar compilaciones de componentes apache, mysql y php) y prefiere las aplicaciones de pila AMP agrupadas de terceros, puede ver WAMPServer 2.0 como una opción para Windows ... Casi todos los demás La opción de AMP incluida que he visto (para Windows, Mac y Linux) no permite intercambiar compilaciones de componentes (no incluyo interruptores de PHP4 y PHP5 como compilaciones de componentes, ya que en realidad solo se ofrecieron debido al código heredado problemas hasta que PHP5 se volvió más compatible con versiones anteriores y PHP4 menos abundante).

La mayoría de las aplicaciones AMP Stack Bundled de terceros, especialmente las compilaciones de SO basadas en Unix (Mac y Linux), para que los componentes de la pila estén dentro de la misma estructura de directorio que el directorio raíz de la "aplicación", tienen que compilar cada componente con directivas específicas y argumentos que en última instancia conectan algunas de las referencias de carpetas y firmas binarias en cada uno de los componentes ... específicamente los componentes mysql y php porque tienen objetos de biblioteca que son compartidos y deben ser referenciados e incluidos específicamente durante la compilación de origen ... (y me parece que la mayoría no lo hace por cualquier razón, solo compila con todas las directivas y bibliotecas opcionales incluidas ... no estoy seguro de que eso resuelva el problema o no b / c he llegado tan lejos con mi proyecto para responder eso todavía).

Otra nota, porque está dentro del mismo contexto ... en lo que respecta a los comentarios sobre el uso de las instalaciones autónomas de componentes frente a las pilas _AMPP, desafortunadamente solo sé lo que escribí anteriormente porque intenté configurarlo usando los 3 dispositivos autónomos El código fuente de los componentes e intenté tener mi pastel y comérmelo ... sin haber tenido experiencia en tratar con ninguno de ellos antes ... así que puedo decir que hay 2 razones muy convincentes por las que los Desarrolladores lo hacen y debe usar las pilas para entornos de desarrollo local:

1) si su proyecto está utilizando esta tecnología pero no está extendiendo explícitamente la función dentro del núcleo de cualquier componente, entonces la mayoría solo quiere estar en funcionamiento para poder trabajar en lo que necesitan trabajar ... y no tener para descubrir todas las configuraciones necesarias para que los 3 componentes se comuniquen entre sí sin problemas. Uno podría fácilmente luchar durante días para aprender qué directivas, módulos, bibliotecas, argumentos de compilación, etc. se necesitan. Si ya lo sabes, genial, pero no lo recomiendas a alguien que no lo sepa, a menos que lo hagas por ellos.

2) las pilas agrupadas son autónomas y están aisladas de los archivos de configuración del sistema operativo, por lo que puede destruir su entorno de desarrollo sin consecuencias graves ... si desea ejecutar scripts que implementen archivos en la carpeta "etc" necesaria, no saber acerca de usted, pero puedo cometer un error de vez en cuando y un error en la carpeta ../XAMPP/etc es mucho menos doloroso que un error en la carpeta / etc.

3) GUI ... GUI ... GUI ... no todo el mundo es una línea de comando Mozart y las pilas AMPP proporcionan una buena GUI para encender y apagar las cosas al contenido de tu corazón. Si desea una GUI, gravitará hacia las aplicaciones AMPP Stack ... si no le importa, todo depende de cuánto peso o stock ponga en mis puntos # 1 y # 2

De todos modos, perdón por la disertación de "Cómo hacer bostezar a alguien", espero que alguien obtenga algo de esto.

Eric Galuskin
fuente