JuangaCovas.info

La página personal de Juan Gabriel Covas

Herramientas de usuario

Herramientas del sitio


windows:howtos:wamp3

WAMPSERVER para múltiples versiones de PHP, MySQL y MariaDB

Tiene su complicación instalar el paquete WAMP SERVER para Windows, pero nos permite cambiar fácilmente entre versiones de PHP, MySQL, MariaDB e incluso Apache, convirtiéndolo en un efectivo laboratorio y entorno de desarrollo (en mi caso lo utilizamos diariamente en la oficina con buenos resultados).


Notas sobre 32/64 bits y NTS/TS de WAMPSERVER

  • Es posible usar la versión 64 bits de PHP 5.3 (5.3.28). Antes en caso de necesitar la versión 5.3 de PHP, teníamos que instalar la versión 32 bits de WAMP en lugar de la versión 64 bits.
  • Se recomienda usar la versión de 64 bits, aunque si vamos a hacer debugging interactivo de PHP, notaremos lentitud en los IDE cuando tenemos muchos breakpoints activos. En Windows la versión de WAMPSERVER de 64 bits es bastante más lenta en rendimiento que la de 32 bits, especialmente si vamos a hacer debugging interactivo de PHP.
  • El rendimiento en Windows del stack "AMP" siempre será inferior a Linux mientras los paquetes WAMP/XAMPP/etc. vengan compilados por defecto con PHP TS ("Thread Safety") en lugar de NTS (Non-Thread Safety). Ver este thread de reddit en el que participé ;P


Notas de la descarga de WAMP SERVER para Windows

  • Hace falta instalar ciertos prerequisitos primero (paquetes redistributables de VC, etc). Todos los que nos digan.


Pasos de la instalación de WAMP SERVER

Descargaremos los paquetes de todo lo necesario y NO instalaremos hasta tener claro cómo proceder.

  1. Necesitaremos uno de los "Installer Wampserver full version", 32 bits o 64 bits, lo descargamos.

  2. Si hay updates descargaremos ese paquete también (ej. el paquete "full version" es 3.1.4 y hay un update a 3.1.5, bajamos este último)

  3. Podemos bajar todos los prerequisitos, en la sección "Visual C++ Redistributable Packages", con el enlace All VC Redistributable packages (x86_x64) (32 bits & 64 bits). Instalamos todos, 32 y 64 bits.

  4. En la sección "Tools" descargaremos el paquete con el nombre Checks VC++ packages installed. Este nos dirá si después de instalar todos los prerequisitos, nos falta alguno.
    Tener en cuenta que esta herramienta también se actualiza: si dice que nos falta algo y no cuadra, volverla a descargar para re-comprobar.
    Si todo está OK debería aparecer esto: "All VC++ packages needed to Wampserver are installed correctly"


  5. Ahora podemos instalar el paquete completo de WAMPSERVER, por ejemplo el archivo: wampserver3.1.4_x86.exe

  6. Ahora podemos instalar el paquete de update si lo hay, por ejemplo el archivo: wampserver3_x86_x64_update3.1.5.exe

  7. Y cualquier otro addon que nos interese, por ejemplo MariaDB 10.2 o cualquier otra versión que nos interese de PHP o MySQL.


STRICT SQL mode

Algo inesperado al menos en la versión 5.6 de MySQL con WAMP es que viene por defecto configurado el modo STRICT_ALL_TABLES, que generará errores al intentar realizar INSERTs poco estrictos, por ejemplo al omitir columnas que no tienen correctos valores por defecto y que parece una práctica por mi parte bastante habitual.

Para solucionarlo debemos comentar dicha configuración por defecto en my.ini anteponiendo un ; (punto y coma)

; Set the SQL mode to strict
;sql-mode="STRICT_ALL_TABLES"


En versiones de MariaDB 10.2 y superiores, y relacionado con lo mismo, es importante ajustar también el sql-mode, en mi caso dejo solo la opción: ERROR_FOR_DIVISION_BY_ZERO:

;sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
sql-mode="ERROR_FOR_DIVISION_BY_ZERO"


Negotiation module

Un comportamiento peculiar o efecto secundario con WAMPSERVER es que debemos recordar comentar la siguiente línea en httpd.conf y reiniciar Apache:

LoadModule negotiation_module modules/mod_negotiation.so

…de lo contrario si se intenta acceder a una URL que no exista del tipo /segmento/segmento2/loquesea ← se intenta cargar un archivo llamado: loquesea.php y en caso de que exista será dicho archivo el que se cargará, como si añadiera la extensión .php.

Comentarios

Rafael Garcia-Villanova, 2019/05/15 15:41
Hola estoy intentando actualizar mi wampserver porque la version actual no me permite ejecutar la versión 3.8 del gestor de contenido Joomla. tengo muchas bases de datos en el Wampserver 2.2 actual y no creo que la nueva versión se pueda instalar encima asi sin mas que me recomiendas. Como puedo actualizar las versiones de wampserver

Gracias de antemano
Juanga Covas, 2019/05/25 04:56
Hola Rafael. Para saltar de la versión 2 a 3 de Wampserver creo que lo mejor es desinstalar por completo e instalar la versión 3. Al desinstalar se borrará tu carpeta "www" y las bases de datos, por lo que debes hacer una copia de dicha carpeta y volcar las bases de datos para poder recuperarlas en la nueva instalación, sobre la nueva versión de mysql/mariadb que elijas. Si no lo has hecho antes, te recomiendo "practicar", como si fueras a hacer backup/recuperación. Saludos.
Rafael Artacho, 2020/02/09 09:32
Buenos días, he instalado la versión wampserver3.2.0_x64, que trae incorporada las versiones de php7.3.12 y php7.4.0. Por defectoestá activa la php7.3.12. El problema surge cuando quiero cambiar a la versión php7.4.x. No lo consigo hacer. ¿Podrías indicarme cuál es el problema? Muchas gracias
Rafael Artacho, 2020/02/18 18:43
Hola, tengo un problema al actualizar la versón de PHP7.3.12 a php7.4.2.
En local lo hago sin problema, sin embargo en el servidor no es posible, al añadir php7.4.2 y reiniciar wamp ni siquiera sale la nueva versión. Me serviría de mucha ayuda algún comentario para resolver este problema. Muchas gracias
Juanga Covas, 2020/02/22 04:09
Hola, a ver si te puedo ayudar. En esta misma página, en los Pasos de la instalación de WAMP SERVER verás el paso 6 para comprobar si te falta algún requisito. Si es así instálalo y vuelve a instalar el "addon" deseado. Para limpiar por ejemplo el "viejo 7.4.2" y que te deje re-instalar, borrarías la carpeta "wamp\bin\php\php7.4.2" y ya te dejaría *volver a instalar*.
Ulises, 2020/05/21 02:29
Hola,

Muy buenos tus pasos para instalar wamp... una consulta eso si, instalé wampserver3.2.0_x64 con el parche wampserver3_x86_x64_update3.2.2 que sale en la documentación, instalé todo lo que comentas y lo chequee con la herramienta.

Me parte todo bien, deseo conectarme a una bd firebird y para eso debo activar la extensión interbase y firebird, las activé desde el menu de wamp, pero no me las reconoce... estan en el php.ini sin ;, existen en el dir establecido para las extensiones... me puedes dar una idea que puedo hacer?

Slds
Juanga Covas, 2020/05/21 09:13
Hola Ulises: Si no aparecen esas extensiones cargadas será que no estás ejecutando realmente el PHP configurado con ellas. Esto se suele comprobar con el típico php de test que invoca la función phpinfo() y ver qué configuración coge y si están o no activos las extensiones, o desde línea de comandos, otro error común es que pensamos que se ejecuta cierta configuración y es otra. En WAMP, con botón dcho. del ratón en el icono tienes "Change PHP CLI version" (cambiar versión PHP CLI) o sea de línea de comandos para asegurarte que usa la versión/configuración que tú quieres. Espero que te sirva.
Ulises, 2020/05/21 15:40
Hola Juanga,

Revisé las 3 versiones que trae en lo que respecta al php.ini y tb lo vi en el phpForApache y en todas esta descomentado la extension interbase.dll, cambié la versión, verificando esto ultimo... y no carga la extensión... procederé a borrar y nuevamente instalar pues cuando se instaló el wamp por primera vez pidio cambiar el host de windows pero el antivirus no lo permitió... ahi veré que sucede...

Viene una version tb la 7.4.0, que no ocupo y que no trae la extensión interbase.dll, ademas la documentación dice esto : This PHP version 7.4.0 is used by WampServer in CLI mode.

Solamente he probado con la 7.3.12 y 7.3.13.-

Gracias por tu ayuda, si no parte a lo mejor te pido de nuevo ayuda.

Slds
Escribe el comentario:
 
windows/howtos/wamp3.txt · Última modificación: 2020/05/21 09:14 por Juanga Covas