Preguntas frecuentes sobre la configuración de PHP en PrestaShop con DirectAdmin
¿Tienes problemas con la velocidad de tu tienda PrestaShop? ¿Ves errores de compatibilidad o simplemente no sabes qué versión de PHP elegir? No te preocupes, es una de las consultas más habituales que recibimos en soporte. Configurar PHP en un entorno PrestaShop con DirectAdmin puede parecer técnico, pero en realidad es un proceso muy sencillo cuando sabes dónde mirar.
Aquí tienes una guía completa con las preguntas más frecuentes sobre PHP PrestaShop DirectAdmin, resuelta paso a paso para que puedas optimizar tu tienda sin complicaciones.
¿Qué versión de PHP necesita mi PrestaShop?
Esta es, sin duda, la pregunta número uno. La versión de PHP que debes usar depende directamente de la versión de PrestaShop que tengas instalada. Usar una versión incorrecta puede provocar errores en el front office, el back office o incluso dejar tu tienda inaccesible.
Recomendación general actualizada (2025):
- PrestaShop 1.7.x y 8.x: Necesitan PHP 7.4, 8.0 o 8.1. La versión más estable y recomendada hoy es PHP 8.1.
- PrestaShop 1.6.x: Funciona mejor con PHP 5.6 o 7.0. Con versiones superiores (7.1 o 7.2) puede dar problemas con módulos antiguos.
[WARNING] Si tu PrestaShop es muy antiguo (versión 1.6 o inferior) y usas PHP 8.0 o superior, es muy probable que veas un error en blanco o pantalla de "500 Internal Server Error". Siempre revisa los requisitos oficiales de tu versión antes de cambiar.
Para configurar PHP PrestaShop correctamente, lo primero es saber qué versión tienes instalada. Puedes comprobarlo desde tu panel de administración de PrestaShop en: Parámetros avanzados > Información > Información del servidor. Ahí verás el dato "Versión de PHP".
¿Cómo cambio la versión de PHP en DirectAdmin?
En DirectAdmin, el proceso es muy visual y no necesitas tocar ni una línea de código. Aquí te explico cómo hacerlo paso a paso:
- Accede a tu panel de DirectAdmin con tus credenciales de hosting.
- Busca la sección "Características de Cuenta" o directamente "PHP Selector". En algunas versiones de DirectAdmin puede aparecer como "Selector de PHP".
- Haz clic en "PHP Selector". Se abrirá una lista con todas las versiones de PHP disponibles en tu servidor.
- En la lista, selecciona la versión que necesitas (por ejemplo, PHP 8.1).
- Marca las extensiones que tu tienda requiere. Las más comunes para PrestaShop son:
curlgdjsonmbstringmysqliopensslpdo_mysqlxmlzip
- Haz clic en "Guardar" o "Aplicar".
[TIP] Si no ves el PHP Selector, es posible que tu plan de hosting no lo incluya o que tu proveedor lo tenga desactivado. En ese caso, contacta con soporte para que te lo activen o te ayuden con el cambio.
Una vez guardado, el cambio es casi instantáneo. Puedes verificarlo recargando la página de información de tu PrestaShop.
¿Qué hago si después de cambiar PHP veo un error en blanco?
Tranquilo, es un problema común. Si al cambiar la versión de PHP tu tienda se queda en blanco o muestra un error 500, significa que la nueva versión no es compatible con algún módulo, tema o con el propio PrestaShop.
Pasos para solucionarlo:
- Vuelve a la versión anterior desde el PHP Selector de DirectAdmin. Esto hará que tu tienda vuelva a funcionar al instante.
- Habilita los logs de errores de PHP para ver qué está fallando. En DirectAdmin puedes hacerlo desde "PHP Selector" > "Modo PHP". Selecciona la opción "php-fpm" si está disponible, ya que suele dar más información de errores.
- Revisa el archivo
error_logde tu hosting. Normalmente está en la carpetapublic_htmlodomains/tudominio.com/logs/. Busca líneas que contengan "PHP Fatal error". - Actualiza tu PrestaShop y todos los módulos a la última versión compatible con el nuevo PHP.
- Si el error persiste, desactiva todos los módulos no esenciales desde el back office (si puedes acceder) o renombrando la carpeta
/modulesa/modules_oldtemporalmente.
[INFO] Muchas veces el problema está en un módulo antiguo de pago, envío o SEO que no se ha actualizado. Contacta con el desarrollador de ese módulo para pedir una versión compatible con PHP 8.x.
¿Cómo activo las extensiones de PHP necesarias para PrestaShop?
Las extensiones son como "plugins" que le dan más funcionalidades a PHP. PrestaShop necesita varias para funcionar correctamente (por ejemplo, para gestionar imágenes, conexiones seguras o compresión de archivos).
En DirectAdmin, es muy sencillo:
- Ve a "PHP Selector".
- En la parte inferior de la pantalla, verás una lista de "Extensiones" con casillas de verificación.
- Marca las que necesitas (las mencionadas anteriormente:
curl,gd,json,mbstring,mysqli,openssl,pdo_mysql,xml,zip). - Desmarca las que no uses para evitar conflictos y mejorar el rendimiento.
- Haz clic en "Guardar".
[WARNING] No actives extensiones que no conozcas. Algunas pueden entrar en conflicto con PrestaShop o ralentizar tu servidor. Si no estás seguro, deja solo las recomendadas.
¿Qué es el modo PHP (php-fpm, CGI, suPHP) y cuál elegir?
En DirectAdmin, además de la versión de PHP, puedes elegir el modo de ejecución. Es una configuración avanzada que afecta al rendimiento y la seguridad.
- php-fpm (FastCGI Process Manager): Es el más recomendado para PrestaShop hoy en día. Es rápido, eficiente y maneja bien el tráfico. Además, permite ajustar la memoria y los procesos por usuario.
- CGI / suPHP: Son modos más antiguos. Suelen ser más lentos y pueden dar problemas de permisos. No los recomiendo a menos que tengas una razón muy específica.
- LSAPI (LiteSpeed): Solo si tu servidor usa LiteSpeed como servidor web. Es muy rápido, pero menos común.
Mi recomendación: Si en tu PHP Selector ves la opción "php-fpm", selecciónala. Es la mejor para PrestaShop DirectAdmin PHP en términos de velocidad y estabilidad.
¿Cuánta memoria (memory_limit) necesita PrestaShop?
El límite de memoria de PHP es otro punto crítico. Si tu tienda es grande o tienes muchos módulos, es posible que veas errores del tipo "Allowed memory size of X bytes exhausted".
Valores recomendados:
- PrestaShop pequeño (menos de 100 productos):
memory_limit = 128M - PrestaShop mediano (100-1000 productos):
memory_limit = 256M - PrestaShop grande (más de 1000 productos o muchos módulos):
memory_limit = 512Mo incluso1024M
Cómo cambiarlo en DirectAdmin:
- Ve a "PHP Selector".
- Busca la sección "Opciones de PHP" o "Variables personalizadas".
- Localiza la variable
memory_limit. - Cambia el valor (por ejemplo, a
256M). - Guarda los cambios.
[INFO] Si no ves la opción de cambiar
memory_limiten el PHP Selector, puedes hacerlo manualmente creando o editando el archivophp.inien la raíz de tu dominio. A veces el hosting tiene restricciones, así que consulta con soporte si no puedes modificarlo.
¿Por qué mi PrestaShop va lento después de actualizar PHP?
Es una paradoja común: actualizas a PHP 8.1 esperando más velocidad y, en cambio, ves que tu tienda se vuelve más lenta. Esto suele deberse a:
- Módulos no optimizados: Algunos módulos antiguos no están preparados para PHP 8 y pueden generar errores o ralentizaciones. Actualízalos o desactívalos.
- Opcode cache desactivado: PHP 8.1 viene con OPcache integrado, pero a veces no está activado por defecto en DirectAdmin. Ve a "PHP Selector" y asegúrate de que la extensión
opcacheesté marcada. - Configuración de php-fpm: Si usas php-fpm, puedes ajustar los valores de
pm.max_childrenypm.start_serverspara optimizar el rendimiento. Esto ya es más avanzado, pero si tu tienda tiene mucho tráfico, puede marcar la diferencia.
[TIP] Si tras la actualización notas lentitud, prueba a desactivar todos los módulos no esenciales uno por uno para identificar al culpable. También puedes activar el modo de depuración de PrestaShop (en
/config/defines.inc.php, cambia_PS_MODE_DEV_atrue) para ver posibles errores en pantalla.
¿Puedo tener diferentes versiones de PHP para diferentes dominios en DirectAdmin?
¡Sí! Una de las grandes ventajas de DirectAdmin es que puedes configurar PHP PrestaShop de forma independiente para cada dominio o subdominio que tengas en tu cuenta.
Cómo hacerlo:
- Ve a "PHP Selector" en DirectAdmin.
- En la parte superior, verás un desplegable donde seleccionas el dominio o subdominio al que quieres aplicar los cambios.
- Elige el dominio (por ejemplo,
tutienda.com). - Selecciona la versión de PHP y las extensiones que necesitas para ese dominio en concreto.
- Guarda los cambios.
Esto es muy útil si tienes un PrestaShop 1.6 en un subdominio y un PrestaShop 8 en otro, o si estás probando una nueva versión en un entorno de pruebas.
¿Qué hago si el PHP Selector no aparece en mi DirectAdmin?
Esto puede pasar si tu plan de hosting es muy básico o si el administrador del servidor ha desactivado esta función. No te preocupes, hay alternativas.
Soluciones posibles:
- Contacta con tu proveedor de hosting: Pídeles que activen el "PHP Selector" o "Multi-PHP" para tu cuenta. Es una función común en la mayoría de los paneles.
- Usa un archivo
.htaccess: Si no tienes el selector, puedes forzar una versión de PHP mediante directivas en el archivo.htaccessde la raíz de tu dominio. Por ejemplo, para PHP 8.1:
(La versión exacta puede variar según el servidor, consulta con tu hosting).AddHandler application/x-httpd-php81 .php - Solicita un cambio manual: Como último recurso, pide a soporte que cambien la versión de PHP global de tu cuenta.
[WARNING] Forzar PHP mediante
.htaccesspuede no funcionar en todos los servidores. Si no estás seguro, mejor pide ayuda a tu proveedor.
Resumen rápido para configurar PHP en PrestaShop con DirectAdmin
Si has llegado hasta aquí, ya tienes todas las claves. Para que no te pierdas, aquí va un checklist rápido:
- Identifica tu versión de PrestaShop (1.6, 1.7, 8.x).
- Elige la versión de PHP recomendada (8.1 para versiones modernas, 7.0 para 1.6).
- Accede al PHP Selector de DirectAdmin y selecciona la versión.
- Activa las extensiones básicas (curl, gd, json, mbstring, mysqli, openssl, pdo_mysql, xml, zip).
- Ajusta el memory_limit (al menos 256M).
- Selecciona el modo php-fpm si está disponible.
- Verifica que no haya errores en tu tienda y, si los hay, revisa los logs.
[INFO] Recuerda que Syspanel (que algunos llaman HestiaCP) usa el puerto 2106 para acceder al panel. Si tu hosting usa ese sistema, el proceso es similar, pero el acceso es diferente.
Con estos pasos, tu tienda PrestaShop estará optimizada y funcionando con la mejor configuración de PHP PrestaShop DirectAdmin. Si te surge cualquier otra duda, no dudes en consultarnos. ¡Estamos aquí para ayudarte!
