Contenido del artículo

¡Haz clic para puntuar esta entrada!
(Votos: 16 Promedio: 4.4)

En ocasiones se produce un problema en prestashop con la traducción de los temas y módulos que estemos utilizando en nuestra tienda online.

En este tutorial vamos a tratar este tema especifico ¡No te lo pierdas y estate al día de estos tutoriales siguiéndonos en las redes sociales y si te gusta por favor, compártelo!

¿Que voy a aprender?

  • Entender el problema de «Warning, your hosting provider is using the suhosin patch for PHP».

  • Realizar la configuración básica de PHP desde .htaccess para configurar este problema.

Traduciendo Prestashop y entendiendo el Problema

Cuando se realiza la traducción de un Módulo o Tema de Prestashop, por diseño del propio gestor de contenidos de la tienda on-line prestashop, se despliegan todas las opciones de traducción del tema a la vez.

Aunque cada parte o módulo viene diferenciada con su propio botón de Guardar, al pulsarle al botón de Guardar, no estamos enviando solo los datos modificados del módulo que estamos traduciendo, sino que estamos enviando todo el set de frases y elementos a traducir del tema.

Esto provoca que el Número de Variables enviadas por POST es muy alto pudiendo alcanzar el número máximo de envío por POST que el propio servidor limite por seguridad. Ten en cuenta que se envía un POST por cada frase o expresión traducida.

Cuantos más módulos tengamos instalados o más opciones tenga nuestra tema, esta cifra puede variar. Cuando este escenario se reproduce, podríamos recibir dos tipos de mensajes diferentes:

Warning, your hosting provider is using the suhosin patch for PHP

o

¡Advertencia! La configuración de PHP limita el número máximo de campos para enviar en un formulario 1000 = max_input_vars.
Por favor solicite a su proveedor de hosting que aumente este límite a 1180 al menos, o deberá editar el archivo de traducción.

Y descubrimos con frustración que los cambios que hemos realizado no se guardan.

Resolviendo el Problema

Este problema como tal no es un problema técnico sino una medida de seguridad que existe en los servidores que se puede resolver por dos vías

  • Hazlo tu mismo desde el archivo .htaccess de tu web hosting.
  • Abre un ticket a soport técnico para que lo resolvamos por tí. Haz click aquí.

Hazlo tu mismo (Caso 1 «Suhosin»).

La clave está en reconfigurar las siguientes variables suhosin y asignarles un valor más alto que abarque la necesidad que tenemos de envío de variables POST (Por ejemplo):

  • suhosin.request.max_vars = 3000
  • suhosin.post.max_vars = 3000
  • suhosin.get.max_vars = 3000
  • suhosin.cookie.max_vars = 3000

Edita tu fichero .htaccess e introduce las variables con esta sintaxis:

php_value suhosin.post.max_vars 3000
php_value suhosin.request.max_vars 3000
php_value suhosin.request.max_vars 3000
php_value suhosin.request.max_vars 3000

Hazlo tu mismo (Caso 2 «PHP MAX_INPUT_VARS»).

La clave está en reconfigurar la siguientes variable php y asignarles un valor más alto que abarque la necesidad GET/POST/COOKIE que tenemos para el envío de variables POST (Por ejemplo):

  • max_input_vars = 5000

Edita tu fichero .htaccess e introduce esta variables con esta sintaxis:

php_value max_input_vars 5000;

En este último caso puede que también sea necesario ampliar el valor de la variable post_max_size. Puedes hacerlo con la siguiente sintaxis indicando el valor que estimes oportuno:

php_value max_input_vars 5000;
php_value post_max_size 128M;