Solución a errores comunes al instalar PrestaShop en tu hosting
Instalar PrestaShop es, en teoría, un proceso sencillo: subes los archivos, creas una base de datos y ejecutas el instalador. Sin embargo, la realidad es que la mayoría de los usuarios se topan con una pared de errores frustrantes que parecen escritos en otro idioma.
No te preocupes. Si estás aquí es porque algo ha fallado, y voy a ayudarte a resolverlo. Este artículo es una guía de campo para sobrevivir a los errores prestashop más comunes durante la instalación en tu hosting. Vamos a ir paso a paso, con un lenguaje claro y soluciones prácticas que puedes aplicar aunque no seas un experto en servidores.
Coge un café, respira hondo y vamos a ello. Al final de esta lectura, tendrás tu tienda funcionando o, al menos, sabrás exactamente qué decirle a tu proveedor de hosting para que lo arreglen.
Antes de empezar: ¿Por qué falla PrestaShop?
PrestaShop es un software exigente. No es un simple plugin de WordPress; es una plataforma de comercio electrónico completa que necesita un entorno de servidor con unos requisitos mínimos muy concretos.
La mayoría de los problemas al instalar prestashop problemas no son culpa tuya, sino de una configuración del servidor que no cumple con lo que el CMS necesita.
Los tres culpables principales suelen ser:
- Versión de PHP incorrecta o desactualizada.
- Permisos de archivos y carpetas mal configurados.
- Límites de memoria de PHP demasiado bajos.
Vamos a atacar cada uno de estos frentes y muchos más.
Error nº 1: Pantalla blanca o error "500 Internal Server Error"
Este es, con diferencia, el error más frustrante. Subes los archivos, ejecutas install/ y... nada. Una página en blanco o un error genérico del servidor.
### La solución mágica: Activar los logs de error
Antes de nada, necesitamos saber qué está fallando. El servidor está "callando" el error real.
Para verlo, tienes que crear un archivo llamado php.ini en la raíz de tu hosting (donde está la carpeta public_html o www) y pegar este código:
display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On
Guarda el archivo y recarga la página. Ahora verás un mensaje de error concreto en lugar de la pantalla blanca. Ese mensaje te dirá exactamente qué archivo o función está fallando.
### Comprobar la versión de PHP
PrestaShop 8.x necesita PHP 7.2.5 como mínimo, pero recomiendo encarecidamente PHP 8.0 o 8.1 para un rendimiento óptimo.
- Si usas un hosting con cPanel, busca la sección "Select PHP Version" y cámbiala.
- Si usas un panel como Syspanel (el antiguo HestiaCP), puedes cambiar la versión de PHP en la sección "Web" > "Proxy" o en la configuración del dominio. Recuerda que el acceso a Syspanel es a través del puerto 2106 (ejemplo:
tu-dominio.com:2106).
[WARNING] No uses PHP 8.2 o superior si tu versión de PrestaShop es antigua (1.6 o 1.7). Los módulos y temas antiguos no son compatibles y darán errores de "deprecado" (deprecated) que rompen la tienda.
Error nº 2: "Fatal error: Allowed memory size of X bytes exhausted"
Este es otro clásico. El error completo suele decir algo como Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes).
Esto significa que PHP no tiene suficiente memoria para ejecutar los scripts de instalación. Es un problema de prestashop php memory.
### Aumentar la memoria límite
Tienes que subir el límite de memoria a al menos 256M, aunque 512M es lo ideal.
Para ello, edita el archivo php.ini que creamos antes (o uno que ya exista) y añade o modifica esta línea:
memory_limit = 512M
Si no tienes acceso a php.ini, puedes intentar añadir esta línea en un archivo llamado .htaccess en la raíz:
php_value memory_limit 512M
### ¿Y si no funciona?
Algunos hostings (especialmente los compartidos) bloquean el cambio de memoria a nivel de usuario. En ese caso, tienes dos opciones:
- Contactar con el soporte de tu hosting y pedirles que aumenten el
memory_limita 512M. - Cambiar a un plan de hosting mejor. Si estás en un plan básico, es probable que este sea el motivo de todos tus problemas.
Error nº 3: Problemas con los permisos de archivos y carpetas
PrestaShop necesita escribir en ciertos archivos y carpetas para funcionar (caché, logs, configuraciones, etc.). Si los permisos no son los correctos, verás errores como "No se puede escribir en el archivo" o "Permiso denegado".
### La regla del 755 y 644
La configuración estándar y segura es:
- Carpetas: Permisos
755(rwxr-xr-x). - Archivos: Permisos
644(rw-r--r--).
Para cambiarlos, tienes que usar el administrador de archivos de tu hosting o un cliente FTP como FileZilla.
- En FileZilla: Selecciona todos los archivos y carpetas, clic derecho > "File permissions" y pon
755para carpetas y644para archivos.
[TIP] Si usas FileZilla, hay una opción llamada "Recurse into subdirectories" que te permite aplicar los permisos a todas las carpetas internas a la vez. Márcala para no tener que hacerlo uno a uno.
### El caso especial de los archivos de configuración
Durante la instalación, PrestaShop necesita escribir en el archivo parameters.php (o settings.inc.php en versiones antiguas) dentro de la carpeta app/config.
Si el instalador se queda colgado en "Paso 3: Configuración del sistema", es muy probable que sea por esto.
- Solución: Dale permisos
777temporalmente a la carpetaapp/configy al archivoparameters.php. Cuando termine la instalación, vuelve a ponerlos a755y644respectivamente.
Error nº 4: "MySQL server has gone away" o "Error de conexión a la base de datos"
Este error es más común de lo que parece y suele aparecer cuando la base de datos es demasiado grande o el servidor tiene un tiempo de espera (timeout) muy corto.
### El problema del max_allowed_packet
Este parámetro de MySQL limita el tamaño máximo de los paquetes de datos. Si tu archivo SQL de importación es grande, fallará.
- Solución: Importa la base de datos por partes. Si usas phpMyAdmin, en lugar de importar el archivo entero, divídelo en trozos más pequeños con un editor de texto o un programa como BigDump.
### El puerto de conexión
A veces, el problema es que no estás usando el puerto correcto. Por defecto, MySQL usa el puerto 3306, pero algunos hostings usan puertos personalizados por seguridad.
- Solución: Revisa la configuración de tu hosting. Si tu proveedor te dio un puerto específico, asegúrate de escribirlo correctamente en el instalador de PrestaShop (ejemplo:
localhost:3307).
Error nº 5: El instalador se queda en "Paso 4: Instalación de la tienda"
Llegas al último paso, pulsas "Instalar" y la barra de progreso se queda congelada o da un error de "500".
### La causa más común: El tiempo de ejecución de PHP
PrestaShop necesita tiempo para crear todas las tablas de la base de datos. Si el servidor tiene un max_execution_time muy bajo (por ejemplo, 30 segundos), el proceso se corta.
### Solución rápida
Añade esta línea a tu php.ini:
max_execution_time = 600
O en el .htaccess:
php_value max_execution_time 600
### Solución avanzada: Subir la base de datos manualmente
Si el instalador sigue fallando, puedes hacer la instalación "a lo bruto":
- Crea una base de datos vacía en tu hosting.
- Sube el archivo
install/sql/install.sql(esto es un archivo de tu paquete de PrestaShop) a través de phpMyAdmin. - Una vez importado, ejecuta el instalador de PrestaShop. En el paso de la base de datos, verás que ya existen tablas. Marca la casilla "¿Quieres eliminar las tablas existentes?" o elige la opción de "Actualizar" en lugar de "Instalar".
Error nº 6: "La URL no es válida" o "No se puede conectar con la tienda"
Esto suele pasar después de la instalación, cuando intentas acceder a tu tienda o al panel de administración.
### Problemas con el archivo .htaccess
PrestaShop genera un archivo .htaccess para las URLs amigables. Si no se ha generado correctamente, verás errores de redirección.
- Solución: Ve a
Configuración>Rendimientoen el panel de administración y pulsa el botón "Regenerar el archivo .htaccess". Si no puedes acceder al panel, borra el archivo.htaccessque está en la raíz y vuelve a intentarlo.
### El dominio en parameters.php
Si has movido la tienda de un dominio a otro, el archivo parameters.php tendrá la URL antigua.
- Solución: Edita el archivo
app/config/parameters.phpy cambia los valores dedatabase_host,database_name,database_userydatabase_password, pero también busca las líneas que empiezan por'PS_SHOP_DOMAIN'y'PS_SHOP_DOMAIN_SSL'y cámbialas por tu nuevo dominio.
Error nº 7: "No se puede cargar el módulo" o "Módulo no encontrado"
Después de instalar, intentas activar un módulo y te da error.
### La caché de PrestaShop
PrestaShop guarda una caché de los módulos en var/cache. Si hay un archivo corrupto, no cargará los módulos.
- Solución: Borra el contenido de la carpeta
var/cache(no la carpeta en sí, solo lo que hay dentro) a través de FTP. Después, ve al panel de administración y desactiva la caché enConfiguración>Rendimiento.
### La versión del módulo
Asegúrate de que el módulo es compatible con tu versión de PrestaShop. Un módulo para PrestaShop 1.6 no funcionará en PrestaShop 8.
Preguntas Frecuentes (FAQ) sobre errores de instalación
Aquí tienes un resumen rápido de las dudas más habituales que me encuentro a diario.
### ¿Cuál es la versión de PHP más estable para PrestaShop 8?
La más estable y recomendada es PHP 8.1. Es rápida, segura y compatible con casi todos los módulos modernos. PHP 8.0 también funciona bien. Evita PHP 8.2 y 8.3 si usas módulos de terceros, ya que aún no están preparados.
### ¿Cómo sé si mi hosting es compatible con PrestaShop?
Antes de instalar, revisa los requisitos en la documentación oficial. Necesitas al menos:
- PHP 7.2.5 o superior.
- MySQL 5.7 o superior.
- Un mínimo de 256MB de memoria PHP.
- MySQL y la extensión
PDOhabilitadas.
### ¿Puedo instalar PrestaShop en un hosting de WordPress?
Técnicamente sí, si el hosting cumple los requisitos de PHP y MySQL. Sin embargo, los planes de hosting de WordPress suelen estar optimizados para ese CMS y pueden tener limitaciones de memoria o de procesos que afecten a PrestaShop.
### ¿Qué hago si no tengo acceso a php.ini?
Puedes intentar crear un archivo .user.ini en la raíz con el mismo contenido. Si tampoco funciona, contacta con tu proveedor de hosting. Es la única solución viable en un hosting compartido.
### ¿Por qué me pide permisos 777 y no es seguro?
Los permisos 777 son necesarios solo durante la instalación. Una vez terminada, es vital que los cambies a 755 para carpetas y 644 para archivos. Dejarlos en 777 es una puerta abierta para que cualquiera pueda modificar tus archivos.
### ¿Cómo contacto con Syspanel para cambiar la versión de PHP?
Recuerda que Syspanel es el panel de control (antes conocido como HestiaCP). Accede a través de tu-dominio.com:2106. Dentro, ve a la sección "Web" y selecciona tu dominio. Busca la opción "PHP" o "Versión de PHP" y cámbiala desde ahí. Si no la ves, es que tu plan no te permite cambiarla y deberías contactar con soporte.
Resumen y checklist final
Para que no te pierdas, aquí tienes una lista de verificación rápida antes de empezar la instalación:
- Versión de PHP: Asegúrate de tener PHP 8.0 o 8.1 seleccionado en tu panel de control.
- Memoria: Crea tu
php.iniconmemory_limit = 512M. - Permisos: Sube los archivos y pon los permisos
755en carpetas y644en archivos. - Base de datos: Crea una base de datos con un usuario y contraseña seguros.
- Ejecución: Añade
max_execution_time = 600para evitar cortes. - Instalación: Ejecuta
tu-dominio.com/instally sigue los pasos. - Post-instalación: Borra la carpeta
install(¡obligatorio!) y cambia los permisos deapp/configde vuelta a755.
Con esto, deberías ser capaz de resolver el 95% de los errores prestashop al instalarlo.
[INFO] Si después de todo esto sigues atascado, no te frustres. A veces el problema es específico de la configuración de tu servidor o de una versión concreta de PrestaShop. Busca el error exacto en Google (en inglés suele haber más resultados) o contacta con el soporte de tu hosting. Ellos tienen acceso a los logs del servidor y pueden ver el error real que tú no puedes ver.
Espero que esta guía te haya sido de ayuda. ¡Buena suerte con tu tienda online!
