Solución a errores comunes de PrestaShop en DirectAdmin
Introducción: ¿Por qué aparecen errores en PrestaShop con DirectAdmin?
Si tienes una tienda online con PrestaShop alojada en un servidor con panel DirectAdmin, es probable que en algún momento te hayas encontrado con pantallas en blanco, errores 500, problemas de conexión a la base de datos o conflictos con los permisos de archivos. No te preocupes: la mayoría de estos problemas tienen solución y, en muchos casos, son más fáciles de arreglar de lo que parecen.
En esta guía extensa y detallada, vamos a recorrer los errores PrestaShop DirectAdmin más comunes, explicando paso a paso cómo identificarlos y solucionarlos. Hablaremos desde el temido PrestaShop 500 error DirectAdmin hasta problemas de caché, módulos y configuración del servidor. Todo explicado en un lenguaje claro, sin tecnicismos innecesarios, para que puedas resolverlo tú mismo.
[INFO] Esta guía asume que tienes acceso a DirectAdmin (usuario y contraseña) y que tu tienda PrestaShop está instalada. Si estás empezando, te recomiendo hacer una copia de seguridad completa antes de hacer cualquier cambio.
1. Error 500 Internal Server en PrestaShop (DirectAdmin)
El PrestaShop 500 error DirectAdmin es, sin duda, el más frustrante. Aparece de repente sin ningún mensaje descriptivo, solo una página en blanco o el texto "500 Internal Server Error". Las causas pueden ser varias, pero las más frecuentes son:
- Archivos .htaccess corruptos o con reglas incorrectas.
- Permisos de archivos o carpetas mal configurados.
- Módulos incompatibles o mal instalados.
- Límites de memoria PHP o tiempo de ejecución insuficientes.
1.1. Solución paso a paso para el error 500
Paso 1: Renombra el archivo .htaccess
El archivo .htaccess de PrestaShop suele estar en la raíz de tu tienda (por ejemplo, /public_html/). Accede a DirectAdmin, ve a Administrador de Archivos y localiza el archivo .htaccess. Renómbralo a .htaccess_old o simplemente bórralo temporalmente.
[TIP] Si el error desaparece al renombrar el .htaccess, el problema está en ese archivo. Puedes regenerarlo desde el panel de administración de PrestaShop yendo a Parámetros de la tienda > Tráfico y SEO > URL amigables y haciendo clic en "Guardar" (sin necesidad de cambiar nada). Esto recreará el .htaccess correctamente.
Paso 2: Verifica los permisos de archivos y carpetas
Los permisos incorrectos son otra causa común. En DirectAdmin, desde el Administrador de Archivos, selecciona todos los archivos y carpetas de tu tienda y establece:
- Carpetas: 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
Algunos archivos especiales como config/settings.inc.php o cache/ pueden necesitar permisos 777 temporalmente, pero nunca los dejes así por seguridad.
Paso 3: Aumenta la memoria PHP y el tiempo de ejecución
Desde DirectAdmin, ve a Configuración de PHP (suele estar en la sección "Características avanzadas" o "PHP Selector"). Busca las opciones:
memory_limit: 256M o 512Mmax_execution_time: 120 o 180upload_max_filesize: 64M
Guarda los cambios y reinicia el servicio PHP si es necesario.
Paso 4: Desactiva módulos problemáticos
Si el error apareció después de instalar un módulo, accede a tu panel de administración de PrestaShop (si puedes) y desactívalo. Si no puedes acceder, renombra la carpeta del módulo en /modules/ desde DirectAdmin (por ejemplo, cambia moduloproblema a moduloproblema_old).
[WARNING] Si después de estos pasos el error persiste, revisa los logs de errores del servidor. En DirectAdmin, ve a Estadísticas de errores o consulta el archivo
error_logen la raíz de tu cuenta. Allí verás mensajes como "PHP Fatal error" que te indicarán exactamente qué archivo o línea falla.
2. Error de conexión a la base de datos (Database connection error)
Este error suele aparecer como "Unable to connect to database" o "Error de conexión a la base de datos". Las causas más comunes son:
- Cambios en la contraseña de la base de datos.
- Archivo
config/settings.inc.phpcorrupto. - La base de datos está caída o con límites de conexiones.
2.1. Solución paso a paso
Paso 1: Verifica los datos de conexión
En DirectAdmin, ve a MySQL Management y localiza tu base de datos. Asegúrate de que el usuario y la contraseña sigan siendo los mismos. Luego, abre el archivo config/settings.inc.php (en la raíz de PrestaShop) y verifica que los datos coincidan exactamente:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tu_usuario_base');
define('_DB_USER_', 'tu_usuario');
define('_DB_PASS_', 'tu_contraseña');
define('_DB_PREFIX_', 'ps_');
Paso 2: Prueba la conexión manualmente
Puedes probar conectarte a la base de datos desde phpMyAdmin (en DirectAdmin suele estar en phpMyAdmin). Si no puedes acceder, el problema es del servidor. Contacta con tu proveedor de hosting.
Paso 3: Repara la base de datos
Desde phpMyAdmin, selecciona tu base de datos, marca todas las tablas y en el menú desplegable elige "Reparar tabla". A veces esto soluciona corrupciones menores.
[INFO] Si el error ocurre después de migrar tu tienda a un nuevo servidor, asegúrate de haber cambiado también el archivo
config/settings.inc.phpcon los nuevos datos. Un error típico es olvidar actualizar la contraseña.
3. Pantalla en blanco o "White Screen of Death"
La temida pantalla en blanco (WSOD) suele deberse a un error de PHP que no se muestra por tener la opción display_errors desactivada. Las causas más frecuentes son:
- Módulo incompatible.
- Tema mal configurado.
- Límite de memoria excedido.
3.1. Cómo diagnosticar la pantalla en blanco
Paso 1: Activa la visualización de errores
Temporalmente, puedes añadir estas líneas al archivo config/defines.inc.php de PrestaShop (justo después de la línea define('_PS_MODE_DEV_', false);):
@ini_set('display_errors', '1');
@ini_set('display_startup_errors', '1');
Esto hará que los errores se muestren en la pantalla. Una vez resuelto el problema, vuelve a cambiarlo a false.
Paso 2: Desactiva el tema actual
Si no puedes acceder al panel de administración, renombra la carpeta del tema en /themes/ (por ejemplo, de tudominio a tudominio_old). PrestaShop usará el tema por defecto (Classic) temporalmente.
Paso 3: Revisa los logs de PHP
En DirectAdmin, ve a Configuración de PHP y busca la opción error_reporting. Asegúrate de que esté en E_ALL o E_ALL & ~E_NOTICE. Luego, en el archivo error_log de tu cuenta, busca mensajes como "PHP Fatal error: Uncaught Error".
[TIP] Si el error aparece después de actualizar PrestaShop, prueba a desactivar todos los módulos no oficiales. A veces una actualización rompe la compatibilidad.
4. Problemas con la caché de PrestaShop en DirectAdmin
La caché de PrestaShop puede causar errores extraños, como que los cambios no se vean, productos que no se actualizan o incluso errores 500. Especialmente si usas caché de archivos o de Redis.
4.1. Cómo limpiar la caché manualmente
Paso 1: Desde el panel de administración
Ve a Parámetros avanzados > Rendimiento y haz clic en "Limpiar la caché" (icono de escoba). También puedes desactivar temporalmente la caché de archivos y activar la de MySQL.
Paso 2: Desde DirectAdmin (si no puedes acceder al panel)
Conéctate al Administrador de Archivos y elimina todo el contenido de las carpetas:
/cache/smarty/compile//cache/smarty/cache//cache/class_index.php(si existe)
[WARNING] No elimines la carpeta
cache/entera, solo su contenido. Algunos archivos comocache/index.phpson necesarios.
Paso 3: Desactiva la caché de Redis o Memcached (si la usas)
Si tu hosting ofrece Redis, desde DirectAdmin puedes detenerlo temporalmente en la sección Servicios adicionales o Redis Manager. Luego, en PrestaShop, cambia el método de caché a "Sistema de archivos".
5. Error de "Tiempo de ejecución excedido" o "Max execution time"
Este error aparece cuando un script tarda más de lo permitido. Es común al importar productos, generar sitemaps o instalar módulos grandes.
5.1. Solución
Paso 1: Aumenta el tiempo de ejecución desde DirectAdmin
Ve a Configuración de PHP y sube max_execution_time a 300 o incluso 600 segundos.
Paso 2: Divide tareas grandes
Si estás importando un CSV con muchos productos, hazlo en lotes más pequeños (100-200 productos por vez).
Paso 3: Usa la línea de comandos (SSH)
Si tienes acceso SSH, puedes ejecutar scripts de PrestaShop con un tiempo ilimitado. Por ejemplo:
php -d max_execution_time=0 /public_html/importar.php
[INFO] Si no tienes SSH, pide a tu hosting que aumente temporalmente el límite. En muchos casos, los planes compartidos tienen límites bajos.
6. Error de "Permiso denegado" al instalar módulos o temas
Este error suele deberse a que el usuario del servidor no tiene permisos de escritura en las carpetas de módulos o temas.
6.1. Solución
Paso 1: Verifica los permisos de las carpetas
En DirectAdmin, desde el Administrador de Archivos, asegúrate de que las carpetas /modules/ y /themes/ tengan permisos 755. Además, el propietario debe ser el mismo que el de la cuenta de hosting.
Paso 2: Cambia el propietario (si es necesario)
A veces, al subir archivos por FTP, el propietario cambia. En DirectAdmin, puedes usar la opción Cambiar propietario en el Administrador de Archivos para asignar el usuario correcto.
Paso 3: Desactiva el modo "Safe Mode" o "PHP open_basedir"
Desde Configuración de PHP, asegúrate de que safe_mode esté desactivado (si existe) y que open_basedir no esté restringiendo el acceso a las carpetas de PrestaShop.
[TIP] Si usas un plan de hosting compartido, es posible que el proveedor tenga restricciones de seguridad. Pregunta si puedes activar "modo desarrollador" temporalmente.
7. Preguntas frecuentes (FAQ) sobre errores PrestaShop DirectAdmin
¿Por qué aparece "PrestaShop 500 error DirectAdmin" después de mover mi tienda?
Es muy común. El problema suele estar en el archivo .htaccess o en los permisos de archivos. Sigue los pasos de la sección 1 para regenerarlo y verificar permisos. También revisa que la URL de la tienda en la base de datos esté actualizada (tabla ps_configuration, campos PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL).
¿Cómo puedo ver los errores reales en lugar de la pantalla en blanco?
Activa el modo desarrollo de PrestaShop editando el archivo config/defines.inc.php y cambiando _PS_MODE_DEV_ a true. También puedes mirar los logs de error del servidor en DirectAdmin (sección Estadísticas de errores).
¿Qué hago si no puedo acceder al panel de administración de PrestaShop?
Si el error te bloquea el acceso, puedes:
- Renombrar módulos conflictivos desde DirectAdmin (carpeta
/modules/). - Desactivar el tema renombrando su carpeta en
/themes/. - Reparar la base de datos desde phpMyAdmin.
- Restaurar una copia de seguridad.
¿Los errores de PrestaShop en DirectAdmin son diferentes a los de cPanel?
En esencia, los errores son los mismos, pero la interfaz de DirectAdmin es diferente. En DirectAdmin, los ajustes de PHP suelen estar en Configuración de PHP y la gestión de archivos en Administrador de Archivos. También es común que los límites de recursos sean más estrictos en DirectAdmin si usas planes compartidos.
¿Debo contactar a mi hosting si no puedo solucionar el error?
Sí, si después de seguir todos los pasos el error persiste, el problema puede ser del servidor (por ejemplo, un módulo de Apache mal configurado, límites de inodes o problemas con PHP-FPM). Proporciona a tu hosting los logs de error que hayas encontrado para que te ayuden más rápido.
Conclusión: Resuelve los errores PrestaShop DirectAdmin con calma
Los errores PrestaShop DirectAdmin pueden ser frustrantes, pero la mayoría tienen solución siguiendo un orden lógico: revisa permisos, archivos de configuración, logs y límites de PHP. Recuerda siempre hacer una copia de seguridad antes de hacer cambios importantes.
Si este artículo te ha sido útil, compártelo con otros usuarios de PrestaShop. Y si tienes algún error específico que no hemos cubierto, déjanos un comentario o consulta con tu proveedor de hosting. ¡Tu tienda online volverá a funcionar en poco tiempo!
[TIP FINAL] Para evitar muchos de estos errores, mantén PrestaShop actualizado, usa módulos de fuentes confiables y revisa periódicamente los logs de tu servidor. Un mantenimiento preventivo te ahorrará muchos dolores de cabeza.
