Todos los artículos
Moodle

El selector de archivos de Moodle se queda cargando tras actualizar a 5.2

10 de agosto de 2026 · 7 min de lectura

izon
rizon.agency
El selector de archivos de Moodle se queda cargando tras actualizar a 5.2

Diagnóstico rápido

Si el selector de archivos o la caja de subida de Moodle se queda cargando tras actualizar a 5.2, empieza por cachés, errores JavaScript, tema, plugins de repositorio, límites de subida y router. El icono de carga significa que la página se renderizó, pero el navegador no recibió una respuesta válida para la petición del selector.

La discusión Moodle.org “Upgrade to 5.2 has broken file uploads where the box now never loads” describe el caso limpio: “the box and button for the file picker never load”. Otra discusión, “Students can't upload files after upgrading to 5.2”, muestra el mismo dolor desde el lado del estudiante.

Por qué falla el selector aunque la página cargue

El selector de archivos depende de JavaScript Moodle, endpoints AJAX, plugins de repositorio, sesiones, áreas de borrador, límites de servidor, permisos y plantillas del tema. Una página puede verse normal mientras el selector falla por detrás.

Por eso “el sitio carga” no basta. Necesitas inspeccionar la petición que está detrás del spinner.

Primer arreglo: purgar cachés

Tras actualizar, purga manualmente:

Administración del sitio > Desarrollo > Purgar todas las cachés

O por CLI:

php admin/cli/purge_caches.php

La guía de actualización de Moodle 5.2 menciona que si faltan funcionalidades, incluido el selector de archivos, conviene purgar las cachés manualmente.

Mira consola y pestaña Red

Abre la página rota, abre herramientas de desarrollador y recarga. Busca:

  • errores JavaScript;
  • peticiones 403, 404, 500 o 503;
  • respuestas AJAX con HTML en vez de JSON;
  • contenido mixto bloqueado tras cambiar a HTTPS;
  • peticiones al host o ruta equivocados.

El primer fallo de red suele ser la pista buena.

Activa depuración en pruebas

En una copia de pruebas, activa:

Administración del sitio > Desarrollo > Depuración

Configura:

  • Debug messages: DEVELOPER
  • Display debug messages: activo solo en pruebas

Reproduce el problema y revisa página y logs. En producción, registra a fichero en vez de mostrar errores a usuarios.

Descarta el tema

Cambia temporalmente a Boost en pruebas. Comprueba:

  1. añadir un recurso de archivo;
  2. entregar una tarea;
  3. subir una imagen de curso;
  4. abrir el selector como profesor;
  5. subir como estudiante.

Si Boost funciona y el tema personalizado no, busca plantilla obsoleta, módulo AMD, override de renderer o JavaScript ligado a markup antiguo.

Descarta repositorios y plugins de archivos

El selector carga repositorios. Desactiva repositorios no esenciales en pruebas.

ComponenteQué puede romper
Repositorio de sistema de archivosRuta o permisos
Google Drive / OneDriveOAuth, callback, token o cuenta de servicio
Plugin de repositorio personalizadoIncompatibilidad con Moodle 5.2
Plugins multimediaConflicto JavaScript o filtro
AntivirusPetición bloqueada o timeout

Actualiza el plugin culpable o desactívalo hasta que haya versión compatible.

Comprueba límites PHP y Moodle

upload_max_filesize = 128M
post_max_size = 128M
max_file_uploads = 20
max_input_vars = 5000
max_execution_time = 300
memory_limit = 256M

Después revisa:

  • Administración del sitio > Seguridad > Ajustes de seguridad del sitio
  • límites de subida del curso;
  • límites de entrega de tarea;
  • ajustes de repositorios.

max_input_vars debe ser al menos 5000 según las notas de Moodle 5.2.

Comprueba moodledata

Moodle guarda archivos subidos en moodledata, no en el directorio del código.

ls -ld /path/to/moodledata

El servidor web debe poder escribir ahí, pero el directorio no debe ser público. No soluciones permisos moviendo moodledata a public_html.

Comprueba public y router

Confirma:

  • la raíz web apunta a moodle/public;
  • $CFG->wwwroot tiene esquema y host correctos;
  • los checks de router pasan;
  • el proxy conserva HTTPS y host.

Si falla el router, arregla eso primero con Moodle 5.2: el router no está configurado correctamente.

Orden práctico

  1. Purga todas las cachés.
  2. Reproduce con herramientas de desarrollador abiertas.
  3. Anota la primera petición de red fallida.
  4. Activa depuración en pruebas.
  5. Cambia temporalmente a Boost.
  6. Desactiva repositorios terceros.
  7. Revisa límites PHP y Moodle.
  8. Revisa moodledata.
  9. Revisa router y raíz web.
  10. Ejecuta cron y tareas ad hoc.

FAQ

¿Por qué el selector de archivos gira indefinidamente?

El navegador espera una respuesta AJAX que falla, devuelve JSON inválido o queda bloqueada por JavaScript, tema, plugin, sesión, router o permisos.

¿Purgar cachés puede bastar?

Sí. Moodle lo recomienda tras la actualización cuando faltan funcionalidades como el selector de archivos.

¿Debo reinstalar Moodle?

No. Primero encuentra la petición que falla.

Escrito por Choaib Mouhrach

Fundador e ingeniero de software sénior

Diseño y desarrollo plataformas de aprendizaje a medida para organizaciones con procesos complejos de formación y certificación. En lugar de unir plugins y herramientas de terceros, creo sistemas adaptados a la forma real de trabajar de cada negocio, reduciendo la carga administrativa y mejorando la experiencia del alumnado.

Empezar

Tu producto de aprendizaje merece su propia plataforma.

Si quieres ofrecer una experiencia de aprendizaje construida en torno a tu producto, tus alumnos y tus objetivos, estás en el lugar correcto. Construimos plataformas que te dan el control y la flexibilidad para crecer sin límites.