Hola Jaime,
tal y como comentas, Moodle tiene dos formas de trabajar con archivos zip. Una (la externa) se consigue especificando los ejecutables correspondientes en las variables "zip" y "unzip" en la página de configuración. La otra (la interna) se consigue dejando esas variables en blanco.
Cada una de ellas tiene sus ventajas y sus desventajas:
- La externa: dependiendo de la versión de zip y unzip que tengas en tu sistema, no será capaz de leer todos los tipos de archivos zip (porque, aunque todos parezcan iguales, internamente pueden tener diferentes métodos de compresión y demás). Además presenta problemas al crear archivos zip de cursos con MUCHOS ficheros. Como ventajas principales, que no está sujeta a los bugs de PHP (que existen!!) y que consume poca memoria.
- La interna: presenta dos problemas (que son precisamente las ventajas del otro método), consume mucha memoria al crear cursos grandes (necesita tanta memoria como el tamaño del fichero que va a generar) y está sujeta a los bugs de PHP. Precisamente el error "Warning: gzinflate: buffer error in..." que enviaste hace unos días es uno de esos bugs que afecta a ciertas versiones... Como ventajas, es capaz de leer cualquier tipo de fichero zip y no exige que tengas ningún software extra instalado en tu servidor.
Yo personalmente uso la interna (seguramente porque tengo controlada la versión de PHP, que no es de las que tienen el bug) y tengo un par de Gigas (y para hacer un curso de 2 gigas hay que sudar mucho
) para mi solito de memoria, con lo que no me afectan los dos problemas de esta versión.
Ahora bien, hace no mucho, instalé un servidor de Moodle que forzosamente (por necesidades de otras aplicciones) tenía que funcionar bajo una versión de PHP de las problemáticas. Ahí no tuve otro remedio que utilizar la compresión externa. Y me funciona bien.
Y estas son mis experiencias con los dos tipos de compresión, espero que sirva para aclarar un poco esta cuestión.
Ciao