Un error común que hemos visto es la «pantalla blanca de Prestashop» o la «página en blanco de Prestashop».
Tabla de contenidos
ToggleHay muchas razones para que este error ocurra.
Aquí se enumeran las principales causas que hemos visto, y cómo hemos solucionado. Pero si necesitas ayuda para resolver los problemas técnicos de prestashop puedes contactar en el enlace.
1. Límite de memoria
Con mucho, la razón más común para la «pantalla blanca de la muerte» es Prestashop golpear el límite de memoria de PHP.
Dependiendo de la configuración de su servidor por defecto, la memoria permitida para el proceso de PHP podría estar limitada a 32 MB, 64 MB o 128 MB.
Prestashop requiere al menos 128 MB para funcionar, y algunos complementos pueden tomar más memoria que eso. Una buena configuración sería «256 MB», o «512 MB» si usted tiene un VPS.
Hay muchas maneras de aumentar el tamaño de la memoria de PHP.
La forma más segura es editar el archivo php.ini en nuestra cuenta del sitio web.
Edite el archivo php.ini, y cambie el ajuste «memory_limit» a «512 M».
Si el archivo php.ini no está presente en su cuenta, puede hacerlo utilizando el archivo .htaccess. Agregue esta línea a su archivo .htaccess.
php_value memory_limit 512M
2. Permisos incorrectos de archivos y carpetas
La segunda razón más común para la «página blanca de Prestashop» son los permisos incorrectos establecidos para los archivos y carpetas.
Esto es especialmente cierto para los servidores en los que SuPHP o Fast-CGI está habilitado.
Para que Prestashop funcione correctamente, es necesario establecer estos permisos
755 – Para las carpetas
644 – Para los archivos
En algunos servidores antiguos, los archivos PHP podrían estar configurados como CGI, y requerirían permisos 755, pero esas condiciones son raras.
Si usted sospecha que los permisos de archivos o carpetas pueden ser erróneos, restablecer los permisos para todo el directorio de Prestashop.
Por ejemplo, en los servidores cPanel/WHM, utilizamos estos comandos para restablecer los permisos de archivos y carpetas:
find /home/USERNAME/public_html -type d -exec chmod 755 {} \;
find /home/USERNAME/public_html -type f -exec chmod 644 {} \;
3. Archivos corruptos o codificación incorrecta
Los scripts de PHP pueden ser un poco exigentes cuando se trata de espacios perdidos o codificación incorrecta de los archivos.
Idealmente, sus scripts PHP deberían ser guardados y subidos en formato de archivo ANSI.
Pero, dependiendo de su editor de texto, podría guardar el archivo en UTF-8, que el compilador de PHP no entenderá.
También es posible que en su intento de cambiar algo, haya introducido accidentalmente un espacio antes de la etiqueta inicial «<? php>».
La mejor manera de resolver esto es descargar una copia fresca de Prestashop, y reemplazar los archivos modificados recientemente.
Si has hecho cambios extensos en tus archivos, tendrás que comprobar manualmente los formatos de los archivos y peinarlos en busca de errores de sintaxis.
4. Error de codificación en el módulo o tema recientemente instalado/actualizado
Los complementos de Prestashop (temas y módulos) le ayudan a configurar una tienda tal y como la había imaginado.
Pero el inconveniente es que algunos de estos temas y módulos pueden no estar bien mantenidos.
Muchas veces hemos visto algún módulo que utiliza funciones obsoletas, o código incorrecto, provocando que Prestashop muestre la pantalla blanca.
Por lo tanto, si la pantalla blanca se muestra después de haber instalado o actualizado recientemente un nuevo complemento, intente eliminar esa carpeta de complementos desde el backend. Debería estar ubicada en la carpeta «/themes/» o «/modules/» en el public_html de su Prestashop.
5. Módulos PHP que faltan
Para que Prestashop funcione, necesita estos módulos PHP:
Mcrypt
OpenSSL
Zip
Curl
GD
PDO
En algunos servidores, especialmente si tiene un VPS, uno o más de estos módulos pueden no estar instalados.
También hemos visto casos en los que están instalados, pero no están habilitados en el archivo de configuración de PHP.
Para comprobar si estos módulos están habilitados para su sitio web, copie el siguiente código en un archivo llamado «phpinfo.php» y súbalo a su sitio. A continuación, tómelo en un navegador y compruebe si hay estas extensiones.
<?
phpinfo();
?>
Si falta alguno de estos módulos, comprueba el php.ini de tu servidor para ver si está habilitado. Si no es así, tendrá que instalarlos.
6. Límite de conexión a la base de datos
En un par de tiendas hemos visto el error «PrestaShop Fatal error: no utf-8 support. Por favor, compruebe la configuración de su servidor».
Puede parecer que el soporte UTF-8 no está habilitado en el servidor.
Pero en realidad, es sólo Prestashop incapaz de ejecutar una consulta a la base de datos.
Algunos servidores tienen límites de consulta a la base de datos (por ejemplo, 10.000 consultas por hora). Cualquier consulta por encima de ese límite no será enviada a la base de datos MySQL, y mostrará el error UTF-8.
Por supuesto, también es posible que la codificación UTF-8 en su base de datos haya cambiado por alguna razón.
Si tienes un VPS, puedes arreglar esto cambiando la variable «max_questions» en el archivo de configuración de MySQL a «0» (significa ilimitado).
7. Caché rancio, .htaccess incorrecto y muchos otros
Hay muchas otras razones por las que Prestashop puede mostrar una página blanca. Algunas de ellas son
Caché rancio : Las páginas antiguas podrían entrar en conflicto con las nuevas páginas recompiladas. Para solucionarlo, desactive la caché y ejecute una recompilación forzada.
Errores en el archivo .htaccess : Los errores de sintaxis en los archivos .htaccess, especialmente los utilizados para pasar variables de PHP, pueden causar errores de compilación.
Configuraciones de seguridad : Algunas configuraciones de seguridad como los límites de mod_security pueden hacer que la ejecución falle. Habrá que averiguarlo mirando los registros del servidor web.
Muchos más : Básicamente cualquier cosa que bloquee la correcta ejecución de los archivos de Prestashop puede causar este error. Si ninguno de estos parece ajustarse a su problema, tendrá que habilitar la notificación de errores.