8 TRUCOS para optimizar el php.ini de tu servidor para Prestashop

¿Qué requisitos básicos necesitas para instalar Prestashop? Ojo a los 8 consejos con los que optimizar el archivo php.ini de tu servidor para Prestashop 1.7

01 Ago 2020

Si existen varias configuraciones PHP en diferentes hosts, probablemente sea difícil llegar a conseguir que todas las funcionalidades de Prestashop funcionen correctamente. En el artículo de hoy, os contamos 10 trucos/consejos para optimizar el php.ini de tu hosting con Prestashop pero antes, te hablamos sobre la configuración requerida previa para instalar la última versión de Prestashop, 1.7:

Configuración requerida

  • Un nombre de dominio (o un subdominio/una subcarpeta)
  • Servidor web recomendado: Apache 2.x o Nginx (También funciona con Apache 1.3 o Microsoft IIS)
  • PHP 5.4 o posteriores
  • MySQL 5.0 o posterior instalado y una base de datos creada
  • Acceso FTP (tienes que solicitar los datos de acceso a tu proveedor de servicios de alojamiento)

Configuración

En la configuración PHP (archivo php.ini), configura el límite de memoria, memory_limit, a un mínimo de «512M«, y el tamaño de archivo máximo de carga, upload_max_file_size, en «16M» (o más si lo hay). Si no tienes acceso directo al archivo php.ini, tienes que pedirle a tu proveedor que modifique la configuración por ti. También necesitarás un certificado SSL si vas a procesar pagos internamente (si no usas PayPal, por ejemplo). Las extensiones PHP de Mcrypt, OpenSSL, Zip, Curl, GD, PDO y para mejorar la rentabilidad: MemCached, mcrypt PHP extension.

La mayoría de los servidores cumplen con estos requisitos pero aún así, comprueba que tu host cumple con los parámetros de PHP antes de contratarlo. También gran parte de estos servidores permiten anular la configuración predeterminada de PHP. Cuando se ejecuta un archivo PHP, PHP buscará un archivo php.ini en el mismo directorio que el archivo que se está ejecutando. Si encuentra uno, lo leerá y anulará la configuración predeterminada de PHP. Como Prestashop no crea automáticamente este tipo de archivo, deberás copiar manualmente tu archivo php.ini a tres sitios diferentes:

  • Directorio raíz. Se lee siempre que se vea el front office.
  • Directorio de administración (con un nuevo nombre). Se lee siempre que sea accesible el back office.
  • Directorio de instalación. Para que el instalador lea el archivo y si aparece todo correcto sin ninguna cruz roja es que puedes proceder a la instalación.

Lo que incluyes en el archivo php.ini depende de qué elementos no han pasado las pruebas y aparecen con una cruz roja.

Parámetros PHP:

Consejo 1

Si el parámetro «¿Puedo subir archivos permitidos?» tiene una «X» roja, debes buscar y cambiar la configuración de file_uploads en php.ini, o añadirla si no existe:

;Permitir que los archivos se carguen
File_uploads = Activado

Si esto lo has hecho correctamente, la cruz roja debería pasar a ser «un visto bueno» en forma de «V» verde y podrás continuar con la instalación. Esto no quiere decir que todas las características de PrestaShop funcionen. Existe otra sección llamada «Configuración opcional» con más opciones de configuración que deben cumplirse para que PrestaShop funcione correctamente:

Configuración opcional

La sección de configuración opcional tiene muchos elementos que mejorarán la seguridad y el rendimiento de PrestaShop:

Parámetros PHP:

Consejo 2

El parámetro «¿Puede abrir URLs externas?» comprueba si PrestaShop puede conectarse a URL externas para mostrar las últimas noticias e información de ayuda y actualizar automáticamente las tasas de cambio. Si este elemento tiene una «X» roja, debes buscar y cambiar la configuración allow_url_fopen en php.ini o agregarla si no existe:

; Permitir que se abran URL externas
Allow_url_fopen = Activado

Consejo 3

El parámetro «¿Está desactivada la opción global de registro de PHP? (recomendado)» te recomienda que deshabilites la opción global de registro en PHP para mejorar la seguridad. La opción global de registro convierte automáticamente las query strings en la URL en variables globales. Si se olvida de inicializar una variable, es posible que cualquiera la inicialice con el valor que desee, simplemente agregando una cadena de consulta a la URL, la cual podría ser mal utilizada por los hackers. Por esta razón, si tienes una «X» roja para este elemento, debes buscar y cambiar la configuración de register_globals en php.ini o añadirla si no existe. Las últimas versiones de php llevan está opción desactivada por defecto:

; Inhabilitar globales de registro de PHP
Register_globals = Desactivado

Consejo 4

El parámetro «¿Está activada la compresión GZIP? (recomendado)» comprueba si PrestaShop puede extraer archivos GZIP en tu servidor, acción que se realiza al instalar módulos y paquetes de localización desde el Back Office. Si este ítem tiene una «X» roja, debes buscar y cambiar la configuración zlib.output_compression en php.ini, o añadirla si no existe:

; Habilitar la compresión GZIP en el nivel predeterminado
Zlib.output_compression = Activado
Zlib.output_compression_level = 6

El nivel de compresión se puede establecer entre 1 y 9, donde 1 es la variable de menor compresión y 9 es la de mayor compresión. Lo mejor es dejar el nivel de compresión en 6, porque proporciona la mejor compresión sin alterar el rendimiento del servidor. Una vez lo tienes activado en el servidor tendrás que «tunear» tu htacces para que se ejecute la compresión, si no sabes que tienes que hacer puedes usar nuestro módulo que añade la compresión por gzip en Prestashop.

Consejo 5

«¿Está disponible la extensión Mcrypt? (recomendado)» comprueba si PrestaShop puede cifrar las cookies utilizando Mcrypt, que es más rápido que el Blowfish que se utiliza de forma predeterminada. Si este ítem tiene una «X» roja, debes buscar y cambiar la siguiente configuración en php.ini, o añadirla si no existe:

; Cargar la extensión mcrypt
Extension = mcrypt.so

Consejo 6

El elemento «¿Está la opción de magic quotes de PHP desactivada? (recomendado)» recomienda deshabilitar las comillas mágicas. Aunque las secuencias de escape automáticamente parezcan útiles, es mejor desactivarlas para que se salgan manualmente de las cadenas. Si este ítem tiene una «X» roja, debes buscar y cambiar la configuración de magic_quotes en php.ini, o añadirla si no existe:

; Deshabilitar citas mágicas de PHP
Magic_quotes_gpc = Desactivado
Magic_quotes_runtime = Desactivado
Magic_quotes_sybase = Desactivado

Debes saber que a partir de PHP5.4, está opción ya no existe por lo que no tendrías que actualizarla, ni cambiarla.

Consejo 7

«¿Está cargada la extensión Dom?» comprueba si PrestaShop puede usar la extensión Dom de PHP para leer archivos XML, que tiene más funciones que SimpleXML. Si este elemento tiene una «X» roja, debes pedirle a tu proveedor que instale esta extensión en tu servidor.

Consejo 8

El parámetro «¿Está cargada la extensión PDO MySQL?» revisa si PrestaShop puede usar la extensión PDO MySQL, que proporciona una API uniforme para que el código SQL pueda seguir funcionando incluso si se cambia el tipo de base de datos. Si este ítem tiene una «X» roja, debes buscar y cambiar los siguientes ajustes en php.ini, o agregarlos si no existen:

; Cargar PDO extensión MySQL
Extension = pdo.so
Extension = pdo_mysql.so

Después de seguir estos consejos, ahora deberías tener todos los elementos marcados correctamente sin «X» rojas y poder utilizar PrestaShop de manera super optimizada, debes saber que no siempre podrás utilizar todas las características planteadas aquí, bien por que tu proveedor de hosting no te las puede ofrecer, o bien, por las limitaciones que pueda tener tu tienda Prestashop

 

Deja una respuesta

1 comentario
  1. increible que indiques que file_uploads debe ser activado, esto permite que un hacker suba archivos de cualquier tipo a tu servidor!!!! enorme vulnerabilidad si las hay. con solo buscar en google aparece.