Solución a errores comunes en PrestaShop al migrar servidor
Migrar una tienda PrestaShop a un nuevo servidor puede parecer una tarea compleja, pero con la guía adecuada, es un proceso bastante manejable. Lo más común es que, al finalizar la migración, nos encontremos con algunos errores típicos que, aunque parezcan graves, tienen soluciones muy concretas. En este artículo, vamos a desglosar los errores más frecuentes al migrar PrestaShop, cómo solucionarlos paso a paso, y te daremos consejos de SysAdmin para que tu tienda funcione sin problemas en su nuevo hogar.
[INFO] Este artículo está pensado para usuarios que ya tienen cierta experiencia con el panel de control de su servidor (como cPanel, Plesk o Syspanel) y acceso a herramientas como FTP o SSH. Si eres principiante, no te preocupes, iremos despacio.
Preparación clave antes de la migración
Antes de empezar a solucionar errores, es fundamental entender que una migración exitosa depende de una buena preparación. Si ya has migrado y estás viendo errores, esta sección te ayudará a identificar qué pudo fallar.
1. Realiza una copia de seguridad completa
Este es el paso más importante. Sin una copia de seguridad, cualquier error puede ser irreversible. Asegúrate de tener:
- Archivos de la tienda: Todo el contenido de la carpeta
public_htmlowww. - Base de datos: Un archivo
.sqlexportado desde phpMyAdmin o la herramienta de tu panel. - Configuraciones: Archivos como
settings.inc.php(en versiones antiguas) oparameters.php(en PrestaShop 1.7+).
[WARNING] No uses solo el exportador de tu panel de control sin verificar que el archivo .sql esté completo. Un error común es que la exportación se corte por tiempo de ejecución.
2. Verifica los requisitos del servidor
PrestaShop es exigente con la configuración del servidor. Antes de migrar, asegúrate de que el nuevo servidor cumpla con:
- PHP 7.4 o superior (recomendado PHP 8.0 para versiones modernas).
- MySQL 5.6+ o MariaDB 10.1+.
- Módulos PHP:
mysqli,gd,curl,openssl,mbstring,zip,xml,json. - Apache con mod_rewrite activado (para URLs amigables).
Si no cumples con estos requisitos, los errores serán casi seguros.
Errores comunes al migrar PrestaShop y cómo solucionarlos
Ahora vamos a lo práctico. Aquí tienes los errores más frecuentes que aparecen después de una migración, ordenados por tipo.
Error 1: Página en blanco o error 500
Este es el error más temido. Al acceder a tu tienda, solo ves una pantalla blanca o un mensaje "Error 500 Internal Server Error". Esto suele deberse a:
- Versión de PHP incorrecta.
- Archivos corruptos durante la migración.
- Problemas de permisos en archivos y carpetas.
Solución paso a paso:
-
Activa el modo debug de PrestaShop:
- Edita el archivo
config/defines.inc.php. - Cambia
_PS_MODE_DEV_defalseatrue. - Esto mostrará el error específico en pantalla.
- Edita el archivo
-
Verifica la versión de PHP:
- Desde tu panel de control (Syspanel, cPanel, etc.), cambia la versión de PHP a 7.4 o 8.0.
- Si usas Syspanel, accede por el puerto 2106 y busca la sección "Versión PHP".
-
Revisa los permisos de archivos:
- Las carpetas deben tener permisos
755y los archivos644. - Desde SSH:
find . -type d -exec chmod 755 {} \;yfind . -type f -exec chmod 644 {} \;.
- Las carpetas deben tener permisos
-
Comprueba el archivo .htaccess:
- Si usas Apache, regenera el .htaccess desde el panel de administración de PrestaShop (Parámetros de la tienda > Tráfico y SEO > URL amigables > Guardar).
[TIP] Si el error persiste, revisa el archivo
config/settings.inc.php(versiones antiguas) oapp/config/parameters.php(versiones modernas) para asegurarte de que los datos de conexión a la base de datos sean correctos.
Error 2: "Base de datos no encontrada" o errores de conexión
Este error aparece cuando PrestaShop no puede conectar con la base de datos en el nuevo servidor. Las causas más comunes son:
- Datos de conexión incorrectos en el archivo de configuración.
- La base de datos no se ha importado correctamente.
- El usuario de la base de datos no tiene permisos para acceder.
Solución paso a paso:
-
Verifica los datos de conexión:
- Abre el archivo
app/config/parameters.php(oconfig/settings.inc.php). - Busca las líneas:
'database_host' => 'localhost', 'database_name' => 'nombre_db', 'database_user' => 'usuario_db', 'database_password' => 'contraseña', - Asegúrate de que coincidan con los datos de tu nuevo servidor.
- Abre el archivo
-
Reimporta la base de datos:
- Desde phpMyAdmin, crea una nueva base de datos y un usuario con todos los privilegios.
- Importa el archivo
.sqlque exportaste antes. - Si el archivo es muy grande (>50MB), usa la línea de comandos:
mysql -u usuario -p nueva_base < archivo.sql
-
Comprueba el prefijo de las tablas:
- En el mismo archivo de configuración, busca
'database_prefix' => 'ps_'. Debe coincidir con el prefijo de tus tablas en la base de datos.
- En el mismo archivo de configuración, busca
[WARNING] Si tu servidor usa MySQL remoto (no localhost), asegúrate de que el host permita conexiones externas. En Syspanel, puedes gestionar esto desde la sección "Bases de datos".
Error 3: URLs rotas o imágenes que no se cargan
Después de la migración, es común que las URLs de la tienda sigan apuntando al dominio anterior, o que las imágenes no se muestren porque las rutas absolutas han cambiado.
Solución paso a paso:
-
Actualiza la URL en la base de datos:
- Conéctate a phpMyAdmin.
- Selecciona tu base de datos y ejecuta estas consultas SQL (reemplaza
old-domain.compor el antiguo ynew-domain.compor el nuevo):UPDATE ps_configuration SET value = 'https://new-domain.com' WHERE name = 'PS_SHOP_DOMAIN'; UPDATE ps_configuration SET value = 'https://new-domain.com' WHERE name = 'PS_SHOP_DOMAIN_SSL'; UPDATE ps_shop_url SET domain = 'new-domain.com', domain_ssl = 'new-domain.com' WHERE id_shop = 1;
-
Regenera las miniaturas de las imágenes:
- Ve al panel de administración de PrestaShop.
- En "Parámetros de la tienda > Imágenes", haz clic en "Regenerar miniaturas".
- Esto solucionará las imágenes que no se cargan.
-
Limpia la caché de PrestaShop:
- En "Parámetros avanzados > Rendimiento", borra la caché.
- También puedes eliminar manualmente la carpeta
var/cache(en versiones modernas) otools/smarty/cache(en versiones antiguas).
[TIP] Si el problema persiste, verifica que el archivo
.htaccesstenga las reglas correctas para las URLs amigables. Puedes regenerarlo desde el panel de administración.
Error 4: Módulos o temas que no funcionan
Al migrar, algunos módulos o el tema pueden dar errores porque dependen de rutas absolutas o de versiones específicas de PHP.
Solución paso a paso:
-
Actualiza los módulos y el tema:
- Ve a "Módulos > Gestor de módulos" y verifica si hay actualizaciones.
- Si algún módulo da error, desactívalo y vuelve a activarlo.
-
Revisa los archivos de configuración de los módulos:
- Algunos módulos guardan rutas absolutas en la base de datos. Ejecuta una consulta SQL para buscar y reemplazar el dominio antiguo:
UPDATE ps_modules SET configuration = REPLACE(configuration, 'old-domain.com', 'new-domain.com');
- Algunos módulos guardan rutas absolutas en la base de datos. Ejecuta una consulta SQL para buscar y reemplazar el dominio antiguo:
-
Verifica la compatibilidad con PHP:
- Si usas PHP 8.0, algunos módulos antiguos pueden no ser compatibles. Considera usar PHP 7.4 como solución temporal.
Error 5: Problemas con SSL o redirecciones
Si tu tienda usaba HTTPS en el servidor anterior, al migrar puede que las redirecciones no funcionen correctamente, mostrando errores de contenido mixto o advertencias de seguridad.
Solución paso a paso:
-
Activa SSL en el nuevo servidor:
- Desde Syspanel (puerto 2106), ve a "SSL" y activa un certificado Let's Encrypt para tu dominio.
- En cPanel, usa "SSL/TLS" y luego "Instalar un certificado SSL".
-
Actualiza la configuración de PrestaShop:
- En "Parámetros de la tienda > General", asegúrate de que "Activar SSL" y "Activar SSL en todas las páginas" estén marcados.
-
Corrige las URLs mixtas:
- Ejecuta en la base de datos:
UPDATE ps_configuration SET value = '1' WHERE name = 'PS_SSL_ENABLED'; UPDATE ps_configuration SET value = '1' WHERE name = 'PS_SSL_ENABLED_EVERYWHERE';
- Ejecuta en la base de datos:
Preguntas frecuentes (FAQ) sobre migración de PrestaShop
Aquí respondemos las dudas más comunes que surgen durante el proceso.
¿Puedo migrar PrestaShop sin perder los pedidos o clientes?
Sí, siempre que hagas una copia de seguridad completa de la base de datos y los archivos. La migración no afecta a los datos si se realiza correctamente.
¿Qué hago si el error 500 persiste después de seguir los pasos?
Revisa los logs del servidor. En Syspanel, puedes acceder a ellos desde "Registros del sistema". Busca errores relacionados con PHP o la base de datos.
¿Es necesario desactivar la tienda durante la migración?
Sí, es recomendable poner la tienda en modo mantenimiento para que los usuarios no vean errores. En PrestaShop, ve a "Parámetros de la tienda > Mantenimiento" y actívalo.
¿Cómo sé si mi nuevo servidor es compatible con PrestaShop?
Puedes usar el script de verificación de requisitos de PrestaShop. Súbelo a tu servidor y ejecútalo desde el navegador. Te dirá si falta algún módulo de PHP.
¿Puedo usar Syspanel para gestionar la migración?
Sí, Syspanel (accesible por el puerto 2106) es una excelente herramienta para gestionar bases de datos, archivos y SSL. Además, permite cambiar la versión de PHP fácilmente.
Consejos finales de SysAdmin para una migración exitosa
- Haz pruebas en un subdominio o directorio temporal antes de apuntar el dominio principal.
- Usa herramientas de línea de comandos como
rsyncpara transferir archivos grandes, es más rápido que FTP. - Monitorea el rendimiento después de la migración. Puedes usar herramientas como Google PageSpeed Insights.
- Documenta todos los cambios que hagas en la configuración, por si necesitas revertirlos.
[INFO] Recuerda que la paciencia es clave. Si algo sale mal, vuelve a tu copia de seguridad y repite el proceso con más cuidado.
Con esta guía, esperamos que puedas solucionar los errores más comunes al migrar PrestaShop y que tu tienda funcione sin problemas en su nuevo servidor. Si tienes dudas más específicas, no dudes en consultar la documentación oficial de PrestaShop o contactar con tu proveedor de hosting. ¡Buena suerte con tu migración!
