El selector de archivos de Moodle se queda cargando tras actualizar a 5.2
10 de agosto de 2026 · 7 min de lectura
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.phpLa 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:
- añadir un recurso de archivo;
- entregar una tarea;
- subir una imagen de curso;
- abrir el selector como profesor;
- 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.
| Componente | Qué puede romper |
|---|---|
| Repositorio de sistema de archivos | Ruta o permisos |
| Google Drive / OneDrive | OAuth, callback, token o cuenta de servicio |
| Plugin de repositorio personalizado | Incompatibilidad con Moodle 5.2 |
| Plugins multimedia | Conflicto JavaScript o filtro |
| Antivirus | Petició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 = 256MDespué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/moodledataEl 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->wwwroottiene 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
- Purga todas las cachés.
- Reproduce con herramientas de desarrollador abiertas.
- Anota la primera petición de red fallida.
- Activa depuración en pruebas.
- Cambia temporalmente a Boost.
- Desactiva repositorios terceros.
- Revisa límites PHP y Moodle.
- Revisa
moodledata. - Revisa router y raíz web.
- 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.
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.