Configurar el archivo php.ini para una tienda online en WordPress: guía práctica

marzo 06, 2022



Hola, amigos de Piensa para Crear. 👋

Si tienes una tienda online en WordPress con WooCommerce, tarde o temprano te vas a topar con el archivo php.ini. Y cuando eso pase, vas a agradecer tener esta guía a mano.

En este post te explico qué es el php.ini, qué directivas importan de verdad para una tienda online y cómo configurarlas sin romper nada. Todo con ejemplos reales y basado en las recomendaciones oficiales de WooCommerce.


🧠 ¿Qué es el archivo php.ini?

El php.ini es el archivo de configuración de PHP, el lenguaje en el que está construido WordPress y WooCommerce . Ahí se definen cosas como:

  • Cuánta memoria puede usar un script.

  • Cuánto tiempo puede ejecutarse antes de que el servidor lo corte.

  • Qué extensiones están activas.

  • Cómo se manejan los errores y la seguridad.

¿Dónde está? Depende de tu hosting:

  • En hosting compartido (cPanel), suele estar accesible desde el panel o puedes crear uno en la raíz de tu WordPress .

  • En VPS o servidor dedicado, lo editas directamente por SSH o desde el panel de administración .

  • En hosting gestionado (Kinsta, WP Engine), no tienes acceso: contactas al soporte .


🔥 Las directivas que SÍ importan para una tienda online

No necesitas tocar 50 líneas del php.ini. Estas son las que realmente afectan a WooCommerce:

1. memory_limit — El límite de memoria (la más importante)

Es la causa #1 de errores en tiendas WooCommerce .

Síntomas de que necesitas subirla:

  • Página en blanco al editar productos.

  • Error Allowed memory size exhausted.

  • El backend se congela al procesar pedidos.

Valores reales según WooCommerce:

  • Mínimo oficial: 128M (ya obsoleto para tiendas reales) .

  • Recomendado para tiendas activas: 256M .

  • Tiendas con Elementor, constructores de páginas o muchos plugins: 256M a 512M .

Dónde ponerlo:

ini
memory_limit = 256M

⚠️ Ojo con pasarte: Si pones 512M o más y tu servidor tiene poca RAM, cada proceso de PHP puede comerse toda la memoria y dejar a MySQL sin recursos. El resultado: todo el sitio se vuelve lento en lugar de dar un error puntual .

Si no tienes acceso al php.ini, puedes añadir esto en wp-config.php (antes de la línea /* That's all, stop editing! */):

php
define('WP_MEMORY_LIMIT', '256M');


2. post_max_size y upload_max_filesize — Para subir productos e imágenes

Si vendes productos digitales o subes imágenes grandes, necesitas que estos valores sean coherentes.

ini
post_max_size = 64M
upload_max_filesize = 64M

Regla: post_max_size debe ser mayor o igual que upload_max_filesize . Si el primero es más pequeño, los archivos grandes fallarán silenciosamente.


3. max_execution_time — Evita timeouts en operaciones pesadas

Cuando actualizas WooCommerce, regeneras thumbnails o importas productos, el script puede tardar.

ini
max_execution_time = 300

Recomendación: 300 segundos para tiendas online . El valor por defecto (30s) es demasiado bajo para operaciones de e-commerce.


4. max_input_vars — Para menús y formularios grandes

WooCommerce y sus plugins suelen enviar muchos datos en un solo formulario (variaciones, atributos, opciones de envío).

ini
max_input_vars = 5000

Valor por defecto: 1000. Si se supera, los datos del formulario se pierden y ves comportamientos raros (opciones que no guardan, menús que se cortan) .


5. display_errors — Siempre en OFF en producción

ini
display_errors = Off

¿Por qué? Si muestras errores de PHP en pantalla, estás dando pistas a posibles atacantes sobre la estructura de tu servidor . Además, un error en medio de una página de pago puede espantar a tus clientes.

Para desarrollo: Ponlo en On temporalmente, pero nunca en producción.


6. allow_url_fopen — Cuidado con desactivarlo

WooCommerce, las pasarelas de pago y muchos plugins necesitan esta opción activa para hacer llamadas HTTP a APIs externas (Stripe, PayPal, correos, etc.).

ini
allow_url_fopen = On

Si tu hosting la tiene desactivada por seguridad, verifica que tus plugins de pago sigan funcionando .


7. extension — Las que necesita WooCommerce

Estas extensiones deben estar activas sí o sí:

ini
extension=curl
extension=gd
extension=mbstring
extension=openssl
extension=intl
extension=zip
extension=json

Sin curl, las pasarelas de pago fallan. Sin gd, no se generan las miniaturas de producto .


📊 Tabla resumen: valores recomendados para WooCommerce

DirectivaValor recomendadoPara qué sirve
memory_limit256M – 512MEvitar errores de memoria 
post_max_size64MSubir productos con muchas imágenes
upload_max_filesize64MSubir imágenes y archivos grandes
max_execution_time300Actualizaciones sin timeout 
max_input_vars5000Formularios con muchas opciones 
display_errorsOffSeguridad en producción 
allow_url_fopenOnAPIs de pago y correo 

🛠️ Cómo aplicar los cambios según tu hosting

🟢 Hosting compartido (cPanel, Plesk)

  1. Busca el editor de php.ini o MultiPHP INI Editor.

  2. Modifica los valores.

  3. Guarda y reinicia PHP (o espera a que se aplique automáticamente) .

🟡 VPS o servidor dedicado

  1. Accede por SSH o FTP.

  2. Localiza el php.ini (puede estar en /etc/php/8.x/apache2/ o similar).

  3. Edita los valores.

  4. Reinicia Apache o PHP-FPM:

    bash
    sudo systemctl restart apache2
    # o
    sudo systemctl restart php8.2-fpm

🔴 Hosting gestionado (Kinsta, WP Engine, Cloudways)

No tienes acceso al php.ini. Contacta al soporte y pídeles que lo ajusten . Kinsta, por ejemplo, tiene un módulo de PHP Performance que te permite subir memoria y threads temporalmente para picos de tráfico .


✅ Cómo verificar que los cambios funcionaron

  1. Crea un archivo llamado info.php en la raíz de tu WordPress con este contenido:

    php
    <?php phpinfo(); ?>
  2. Accede a tusitio.com/info.php.

  3. Busca memory_limit, max_execution_time, etc.

  4. Confirma que los valores son los que pusiste.

  5. Borra el archivo después de verificar (es un riesgo de seguridad dejarlo).


🎯 Conclusión: no toques más de lo necesario

El php.ini es potente, pero no necesitas configurar 50 directivas. Para una tienda WooCommerce que funcione bien, con estas seis o siete basta:

  1. memory_limit (la más crítica)

  2. max_execution_time

  3. post_max_size y upload_max_filesize

  4. max_input_vars

  5. display_errors en Off

Si tu tienda da errores de memoria, empieza por subir memory_limit a 256M desde wp-config.php. Si sigue igual, entonces necesitas acceso al php.ini o hablar con tu hosting.

💬 ¿Necesitas ayuda para configurar el php.ini de tu tienda o diagnosticar errores de memoria en WooCommerce?
En Piensa para Crear ofrecemos servicios de optimización y configuración de WordPress/WooCommerce.
Contáctanos aquí y hablemos.


❓ Preguntas frecuentes

¿Qué pasa si pongo memory_limit muy alto?
Si pones 512M y tienes varios procesos simultáneos, MySQL puede quedarse sin RAM. El sitio se vuelve lento en general .

¿Puedo editar el php.ini desde WordPress?
No directamente. Necesitas acceso al servidor o al panel de hosting. Algunos plugins como "PHP INI Editor" lo permiten si el hosting lo soporta.

¿Mi tienda necesita más de 256M de memoria?
Si usas Elementor, constructores de páginas o muchos plugins, sí. Prueba con 256M, y si sigue fallando, sube a 384M o 512M .

¿Cómo sé si un plugin está consumiendo demasiada memoria?
Instala Query Monitor o WP Activity Log. Te muestra qué plugins cargan más recursos en cada página.


📚 Recursos relacionados

Comentarios

← Anterior Siguiente →