Atributos personalizados muy largos no se guardan en Magento

Atributos de opciones personalizadas muy largas en Magento no se guardan

Cuando una lista de atributos personalizados es muy larga en Magento (atributos personalizados en menú dropdown) puede convertirse en un problema. Por ejemplo, si una lista requiere tener una gran cantidad de atributos, la página puede quedarse sin responder.

Este es un problema común para sitios que tienen lista de atributos largos y complejos. Los errores más comunes en este caso son:

  • Magento se queda «trabado» al añadir nuevos atributos
  • Magento se queda trabajando
  • Magento marca un error de timeout
  • Magento manda error de demasiados atributos
  • Magento manda error de límite en atributos de opciones

El problema se ocasiona debido a que Magento pasa todos las atributos personalizados a través de la URL, consumiendo el limite normal asignado en php. Este límite es colocado por los proveedores de hospedaje web para para mitigar de mejor manera posibles ataques de saturación o denegación de servicio DDoS; el límite usual es de 1000. Este límite se aplica a $_GET, $_POST y $_COOKIE separadamente.

Una manera de solucionar este error en Magento es añadir al archivo php.ini las siguientes líneas (o modificarla, en caso ya exista)

max_input_vars = 100000
suhosin.post.max_vars = 100000
suhosin.request.max_vars = 100000

memory_limit = 256M

max_execution_time = 3600
max_input_time = 600

post_max_size = 512M

Si el archivo php.ini no es visible, puedes crearlo al nivel raíz de tu cuenta de hospedaje. Estas líneas solucionarán el problema en Magento siempre y cuando tu proveedor de hospedaje web permita modificar esos valores.

Esta modificación dejará a tu sitio potencialmente más vulnerable pero hay muy pocas opciones en este escenario.