Copia de Seguridad de un curso se descarga con 0 bytes

Re: Copia de Seguridad de un curso se descarga con 0 bytes

de Francisco Gómez -
Número de respuestas: 3
He comprobado que el límite está justo en 10 megas. Cuando un fichero ya sea backup del curso u otro tipo de fichero como un fichero PDF, hasta 10 megas lo descarga perfectamente, pero cuando tiene más de 10 megas lo descarga con 0 bytes, luego tiene que haber algo en los ficheros de configuración de Xampp o moodle que limite las descargas a un máximo de 10 megas, aunque si sitúo un fichero fuera de la carpeta de moodle se descarga perfectamente sea el tamaño que sea aunque sea de varios gigas.

Esta limitación para descargar ficheros superiores a 10 megas solo ocurre dentro de moodle ya sean integrados en un curso o enlazados en un repository dentro de moodledata.

¿Habría alguna manera de saber que configuración está limitando las descargas dentro de moodle a 10 megas y sin embargo no hay límite para las subidas sólo el que tenga puesto en php.ini?

He mirado en entorno o environment en comprobaciones del servidor y todo da ok (Ver fichero adjunto)
Adjunto ComprobacionesServidorok.jpg
En respuesta a Francisco Gómez

Re: Copia de Seguridad de un curso se descarga con 0 bytes

de Francisco Gómez -
Me acaban de recomendar que edite el fichero Edita el fichero "lib/filelib.php" y busca "function readfile_allow_large. Cuando lo haya probado os cuento.
En respuesta a Francisco Gómez

Re: Copia de Seguridad de un curso se descarga con 0 bytes

de Francisco Gómez -
La solución estaba en:
https://tracker.moodle.org/browse/MDL-69355

Downloading files bigger than 10 MB ($filesize > 10000000) from assignments, files, folders etc. fails. I found this Apache error with debugging (DEVELOPER) on: mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent by (output started at /path/to/moodle/lib/filelib.php:2239) in /path/to/moodle/lib/filelib.php on line 2247, referer: https://example.com/mod/folder/view.php?id=20
If I add two zeros to filelib.php:2239 ($filesize > 1000000000) then it works because the code from line 2239 until 2243 is not executed. I tested downloading files up to 230 MB which failed without the two zeros. I'm on an environment with Plesk and use PHP 7.2 run as FastCGI application served by Apache. I discovered the issue while upgrading (Git) from Moodle 3.6. I tried to replicate it with the Moodle Sandbox but there it works just fine.

Editando el fichero "lib/filelib.php" que está en :\xampp\htdocs\moodle\lib

Simplemente añadiendo un dos 0 a if ($filesize > 100000000) {
Por lo que queda así if ($filesize > 1000000000) {
Se reinicia Xampp y todo resuelto.
Ya se pueden descargar todo tipo de ficheros mayores de 10 megas.

Saludos,
Francisco.
En respuesta a Francisco Gómez

Re: Copia de Seguridad de un curso se descarga con 0 bytes

de (Doc-Gua) Alexis M. Arnal E. -

Excelente Francisco.

También tenía ese problema y pude solucionar gracias al hilo detallado que hiciste. 

Una sola acotación, no es necesario reiniciar el Apache ya que es un archivo .php propio de moodle.

Muchas gracias

Atte. Alexis Arnal

amarnal@unexpo.edu.ve 

Guarenas-Venezuela