Solucionar problemas
Error instalando módulos en PrestaShop, The file is missing
Al cargar manualmente el ZIP de un módulo desde el administrador puede aparecer:
Installation of module failed. The file is missing.
PrestaShop muestra este mensaje cuando no recibe un fichero utilizable después de comprobar el tamaño de la petición. Empieza por el código de subida de PHP y el log del mismo minuto. Si el desarrollador instrumenta temporalmente el controlador, debe recoger solo el código de $_FILES['file_uploaded']['error'] cuando esa entrada exista, sin registrar el contenido del archivo ni toda la petición. UPLOAD_ERR_NO_FILE se convierte normalmente en null al construir la petición de Symfony.
Comprueba después, sin cambiar varias variables a la vez:
- que el ZIP no supera
upload_max_filesize,post_max_sizeni un límite del servidor o proxy; - que
upload_tmp_direxiste, tiene espacio y permite escribir al proceso PHP; - que no aparece un error de subida, antivirus o ModSecurity en los registros;
- que el problema se reproduce con el mismo fichero y la misma versión de PHP.
max_input_vars limita variables de GET, POST y COOKIE; un valor alto no está documentado como causa de la pérdida de $_FILES. En un caso concreto de Hostsuar, reducirlo coincidió con la desaparición del síntoma, pero no se demostró el mecanismo ni una condición de carrera. Trátalo únicamente como una prueba reversible si los datos anteriores no muestran otro error: anota el valor, cambia solo esa directiva, reinicia el mismo runtime si procede y repite una vez.
Si el resultado cambia, conserva versiones, valores anterior y posterior y el código de subida; si no cambia, restaura la configuración. No presentes esa correlación como un fallo general de Symfony.
Consulta los errores oficiales de subida de PHP y la instalación oficial de módulos de PrestaShop.
Si PHP no recibe ningún archivo
Cuando la petición supera post_max_size, PHP puede dejar vacíos tanto $_POST como $_FILES; en ese caso no existe un código de subida en esa entrada. Comprueba el tamaño total de la petición, no solo el ZIP, y correlaciónalo con el registro del servidor o proxy. Un 413 puede producirse antes de que PrestaShop procese el formulario.
No reduzcas max_input_vars a ciegas: puede truncar otros formularios del administrador. Si se acuerda esa prueba por el antecedente descrito, comprueba también un formulario representativo y restaura el valor si no aporta una mejora reproducible. Instala únicamente un paquete oficial compatible y evita repetir la carga si una instalación anterior sigue en curso.
También te puede ayudar
- Error "An error occurred while sending the message" en el formulario de contacto de PrestaShop Diagnostica el rechazo del formulario de contacto y corrige un override antiguo solo cuando no envía...
- Recuperar un módulo que no aparece en la plantilla de PrestaShop Comprueba la posición activa, el hook de la plantilla y las excepciones de un módulo de PrestaShop a...
- Update Assistant muestra "Por favor, corrige el (los) siguiente(s) error(es)" Localiza el requisito o ruta no escribible que bloquea Update Assistant de PrestaShop y corrige solo...
- Activar temporalmente el modo depuración de PrestaShop Obtén la excepción exacta activando temporalmente _PS_MODE_DEV_ desde el panel o defines.inc.php sin...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.