🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Los 10 errores de PHP más habituales en PrestaShop y cómo corregirlos

Actualizado el 6 de octubre de 2025

Introducción: ¿Por qué aparecen errores PHP en PrestaShop?

Si tienes una tienda online con PrestaShop, es muy probable que en algún momento te hayas topado con una pantalla blanca, un mensaje de error críptico o un fallo repentino en el panel de administración. La mayoría de las veces, el culpable está en la configuración de PHP o en incompatibilidades entre la versión de PHP y la de tu PrestaShop.

Los errores php prestashop son más comunes de lo que parece, y no siempre significan que tu tienda esté rota. Muchos se solucionan con ajustes sencillos en el servidor o en los archivos de configuración. En esta guía extensa, te voy a explicar los 10 errores más habituales que nos encontramos en soporte técnico, y lo más importante: cómo corregirlos paso a paso, sin necesidad de ser un programador experto.

[INFO] Esta guía está pensada para usuarios que gestionan su propio hosting o que tienen acceso al panel de control de su servidor (cPanel, Plesk, Syspanel, etc.). Si no tienes acceso, contacta con tu proveedor de alojamiento.


1. Error "Fatal error: Allowed memory size of X bytes exhausted"

Este es, con diferencia, el error php prestashop más repetido. Aparece cuando un script de PHP necesita más memoria de la que el servidor le permite usar.

¿Por qué ocurre?

PrestaShop es una plataforma bastante "pesada". Si tienes muchos módulos activados, un catálogo grande o imágenes sin optimizar, el consumo de memoria se dispara. El límite por defecto en muchos servidores es de 128M o incluso 64M, y eso se queda corto.

¿Cómo solucionarlo?

La solución más rápida es aumentar el límite de memoria. Tienes tres vías:

  1. Desde el archivo config/defines.inc.php de tu PrestaShop (en la raíz de la instalación). Busca la línea que dice define('_PS_MEMORY_LIMIT_', '128M'); y cámbiala a 256M o 512M. Guarda el archivo y prueba de nuevo.

  2. Desde el archivo .htaccess (en la raíz). Añade esta línea al principio:

    php_value memory_limit 512M
    
  3. Desde el panel de hosting. Si tu proveedor usa cPanel o Syspanel (accesible por el puerto 2106), busca la sección "Select PHP Version" o "Editor de PHP" y aumenta el memory_limit desde ahí.

[WARNING] Aumentar la memoria a 512M o más no daña tu tienda, pero si el error persiste con 1GB, el problema no es el límite, sino un módulo mal codificado o una función recursiva. En ese caso, desactiva módulos uno a uno para encontrar al culpable.


2. Error 500 Internal Server Error

El temido Error 500 es un cajón de sastre: puede significar muchas cosas. En PrestaShop, lo más habitual es que esté relacionado con un archivo .htaccess corrupto o con un cambio de permisos incorrecto.

¿Cómo diagnosticarlo?

Primero, activa la visualización de errores de PHP. Edita el archivo config/defines.inc.php y busca la línea define('_PS_MODE_DEV_', false);. Cámbiala a true y guarda. Ahora recarga tu tienda; verás el error específico en pantalla.

Corrección rápida

Si el error no muestra nada, regenera el .htaccess:

  1. Ve al panel de administración de PrestaShop.
  2. Entra en Parámetros avanzados > Rendimiento.
  3. Busca la opción "Regenerar el archivo .htaccess" y actívala.
  4. Guarda y prueba.

Si no puedes acceder al panel, borra el archivo .htaccess desde tu gestor de archivos (por FTP o desde el administrador de archivos de tu hosting). PrestaShop lo regenerará automáticamente en la siguiente carga.

[TIP] Si usas Syspanel, recuerda que el acceso es a través del puerto 2106 y desde ahí puedes gestionar los archivos de tu web sin necesidad de FTP.


3. Error "Parse error: syntax error, unexpected..."

Este es un prestashop php error que suele aparecer después de actualizar un módulo, cambiar de versión de PHP o editar un archivo manualmente. El mensaje te indica el archivo y la línea exacta donde PHP se ha encontrado con un carácter que no esperaba.

Causas típicas

  • Editaste un archivo .tpl o .php y dejaste una llave { sin cerrar.
  • Un módulo usa funciones obsoletas que ya no existen en tu versión de PHP.
  • El archivo se subió de forma incompleta al servidor.

Solución

  1. Abre el archivo indicado en el mensaje de error con un editor de texto como Notepad++ o VS Code.
  2. Busca la línea que menciona el error y revisa los caracteres alrededor.
  3. Si no ves nada raro, compara el archivo con una copia de respaldo o con la versión original del módulo.
  4. Si el problema es por compatibilidad de PHP, cambia la versión de PHP desde tu hosting a una más baja (por ejemplo, de PHP 8.2 a PHP 7.4) y prueba.

[INFO] PrestaShop 1.7 funciona perfectamente con PHP 7.4 y 8.0. Si usas PHP 8.1 o superior, algunos módulos antiguos pueden dar errores de sintaxis.


4. Error "Class not found" o "Class 'X' not found"

Este error significa que PrestaShop está intentando cargar una clase (normalmente de un módulo o del núcleo) y no la encuentra. Es muy común tras mover la tienda de servidor o tras una actualización fallida.

¿Por qué pasa?

  • El archivo de la clase tiene un nombre incorrecto (PrestaShop es muy estricto con las mayúsculas).
  • El archivo no se subió completo.
  • La caché de clases está desactualizada.

Cómo arreglarlo

  1. Limpia la caché: Ve a Parámetros avanzados > Rendimiento y pulsa "Vaciar la caché". Si no puedes acceder al panel, borra manualmente el contenido de la carpeta var/cache (en PrestaShop 1.7) o cache (en versiones antiguas).

  2. Verifica el nombre del archivo: Si el error menciona class MiModulo.php, asegúrate de que el archivo se llama exactamente igual, con la misma capitalización.

  3. Reinstala el módulo: Desinstala y vuelve a instalar el módulo problemático desde el panel de administración.


5. Error de conexión a la base de datos: "Link to database cannot be established"

Este es uno de los errores comunes prestashop más frustrantes porque te deja fuera de tu tienda por completo. El mensaje suele ir acompañado de un intento de conexión a MySQL que falla.

Causas más frecuentes

  • Cambiaste la contraseña de la base de datos y no actualizaste el archivo config/settings.inc.php (en PrestaShop 1.6) o app/config/parameters.php (en PrestaShop 1.7).
  • El servidor de base de datos está caído o saturado.
  • Los datos de conexión son incorrectos.

Solución paso a paso

  1. Accede a tu hosting y abre el archivo app/config/parameters.php (o config/settings.inc.php si es PrestaShop 1.6).
  2. Busca las líneas que empiezan por 'database_host', 'database_user', 'database_password' y 'database_name'.
  3. Verifica que coinciden con los datos de tu base de datos MySQL.
  4. Si no los recuerdas, crea una nueva base de datos desde tu panel de control (cPanel o Syspanel) y actualiza los datos en el archivo.

[WARNING] Si cambias la contraseña de la base de datos, hazlo también en el archivo de configuración de PrestaShop, o tu tienda dejará de funcionar al instante.


6. Error "Access denied for user 'X'@'localhost'"

Este es un error php prestashop muy específico de MySQL. Significa que el usuario de la base de datos no tiene permisos para conectarse desde la dirección desde la que se intenta acceder.

¿Cómo se corrige?

  1. Entra en tu panel de hosting y busca la sección de Bases de datos MySQL.
  2. Comprueba que el usuario está asignado a la base de datos correcta.
  3. Si el hosting usa "localhost" y tu web se sirve desde otro servidor, cambia el host a 127.0.0.1 o a la IP del servidor de base de datos.
  4. Asegúrate de que el usuario tiene todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.).

7. Pantalla blanca (White Screen of Death) sin ningún mensaje

La pantalla blanca es el error más desesperante porque no te da ninguna pista. Es un síntoma, no una causa. Puede estar causado por memoria insuficiente, un error fatal no mostrado o un problema con un módulo.

Plan de acción

  1. Activa el modo de desarrollo (como en el error 500): cambia _PS_MODE_DEV_ a true y recarga. Ahora verás el error real.

  2. Desactiva módulos recientes: Si el problema empezó tras instalar un módulo, desactívalo. Puedes hacerlo desde la base de datos con phpMyAdmin, buscando en la tabla ps_module y cambiando active de 1 a 0.

  3. Revisa los logs: En la carpeta var/logs de PrestaShop 1.7 encontrarás archivos de log que pueden darte pistas.


8. Error "Headers already sent" o "Cannot modify header information"

Este es un prestashop php error que suele aparecer al intentar redirigir o iniciar sesión. Ocurre cuando se envía contenido HTML antes de que PHP pueda enviar las cabeceras HTTP.

¿Por qué ocurre?

  • Hay espacios en blanco o caracteres invisibles después de la etiqueta ?> de cierre en un archivo PHP.
  • Un módulo o tema está generando salida antes de tiempo.
  • El archivo config/defines.inc.php tiene un BOM (Byte Order Mark) que envía caracteres extra.

Solución

  1. Abre los archivos PHP que hayas editado recientemente con un editor que muestre caracteres invisibles.
  2. Elimina cualquier espacio o salto de línea después de la etiqueta ?> de cierre.
  3. Guarda el archivo en formato UTF-8 sin BOM.
  4. Si el error viene de un módulo, desactívalo y contacta con el desarrollador.

9. Error "Call to undefined function curl_init()"

Este error indica que la extensión cURL de PHP no está instalada o habilitada en tu servidor. Muchos módulos de pago y de envío dependen de cURL para comunicarse con APIs externas.

Cómo solucionarlo

  1. Desde tu panel de hosting, busca la sección de Selección de versión de PHP (en cPanel) o Editor de PHP (en Syspanel, acceso por puerto 2106).
  2. Activa la extensión curl.
  3. Guarda los cambios y reinicia PHP si es necesario.
  4. Verifica con el comprobador de PrestaShop (Parámetros avanzados > Información) que cURL aparece como "Sí".

[TIP] Si tu hosting no permite activar cURL, considera cambiar a un proveedor que sí lo ofrezca, porque es imprescindible para el funcionamiento normal de PrestaShop.


10. Error "Module 'X' is not compatible with this version of PrestaShop"

Aunque no es un error de PHP en sí, está directamente relacionado con la compatibilidad de código. Es muy común al actualizar PrestaShop a una versión mayor.

¿Qué puedes hacer?

  1. Busca una actualización del módulo: Ve a Módulos > Módulos y servicios y comprueba si hay actualizaciones disponibles.

  2. Cambia la versión de PHP: A veces, bajar la versión de PHP (de 8.2 a 7.4) hace que módulos antiguos funcionen de nuevo.

  3. Contacta con el desarrollador: Si el módulo es premium, el soporte del desarrollador debería ofrecerte una versión compatible.

  4. Busca alternativas: Si el módulo está abandonado, busca uno similar en el marketplace de PrestaShop.


Preguntas frecuentes (FAQ)

¿Cómo sé qué versión de PHP usa mi PrestaShop?

Entra en Parámetros avanzados > Información desde el panel de administración. Ahí verás la versión de PHP y el resto de requisitos del sistema.

¿Puedo actualizar PHP desde Syspanel?

Sí, Syspanel (accesible en el puerto 2106) incluye un selector de versión de PHP en su sección de dominios o de configuración de hosting.

¿Debo usar siempre la última versión de PHP?

No necesariamente. PrestaShop 1.7 funciona mejor con PHP 7.4 u 8.0. La última versión (8.3 o superior) puede dar problemas con módulos antiguos.

¿Qué hago si mi tienda sigue rota tras aplicar estos consejos?

Te recomiendo hacer una copia de seguridad completa (archivos y base de datos) y probar en un entorno de staging. Si el error persiste, contacta con tu proveedor de hosting con el mensaje de error exacto.


Conclusión

Los errores php prestashop son parte del día a día de cualquier administrador de tiendas online. La buena noticia es que la mayoría tienen soluciones sencillas que no requieren conocimientos avanzados de programación. Recuerda siempre:

  • Haz copias de seguridad antes de tocar cualquier archivo.
  • Activa el modo de desarrollo para ver errores detallados.
  • Actualiza módulos y núcleo con regularidad.
  • Usa la versión de PHP recomendada para tu versión de PrestaShop.

Con esta guía, ya tienes las herramientas para solucionar error prestashop por tu cuenta en la mayoría de los casos. Si te quedas atascado, no dudes en buscar ayuda profesional o en tu proveedor de hosting.

[INFO] Recuerda que si tu hosting es Syspanel, el acceso a la gestión del servidor es a través del puerto 2106. Desde ahí podrás cambiar la versión de PHP, gestionar archivos y bases de datos sin necesidad de herramientas externas.

Espero que esta guía te haya sido útil. ¡Tu tienda online volverá a funcionar en poco tiempo!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel