Hospedaje web16 de diciembre de 2025 38 vistas

Cómo modificar los ajustes de PHP (php.ini) en cPanel

Cómo modificar los ajustes de PHP (php.ini) en cPanel

Cómo modificar la configuración PHP (php.ini) en cPanel

Tiempo estimado : 10 minutos
Dificultad : Intermedia ⭐⭐
Requisitos : Acceso a cPanel


📋 Introducción

El archivo php.ini es el archivo de configuración principal de PHP. Controla parámetros esenciales como:

  • 📦 El tamaño máximo de carga de archivos
  • 🧠 La memoria asignada a los scripts
  • ⏱️ El tiempo de ejecución de los scripts
  • 🔧 Las extensiones PHP activadas
  • 🐛 La visualización de errores

En cPanel, puedes modificar estos parámetros fácilmente con el Editor MultiPHP INI, sin necesidad de editar manualmente los archivos de configuración.


🎯 Cuándo Modificar los Parámetros PHP ?

Situaciones comunes

❌ Problema encontrado ✅ Parámetro a modificar
"El archivo subido excede el upload_max_filesize" upload_max_filesize
"Se agotó el tamaño de memoria permitido" memory_limit
"Tiempo de ejecución máximo excedido" max_execution_time
"El contenido POST excede el límite" post_max_size
Formularios complejos que no se guardan max_input_vars
Timeout en importaciones/exportaciones max_input_time
Errores 500 en sitios WordPress/WooCommerce Varios parámetros

📊 Los Parámetros PHP Esenciales

Tabla resumen

Parámetro Descripción Por defecto en el servidor Recomendado para WordPress Recomendado para WooCommerce
memory_limit Memoria máxima por script 128M 256M 512M
upload_max_filesize Tamaño máximo de archivo subido 2M - 64M 64M 128M
post_max_size Tamaño máximo de datos POST 8M 128M 256M
max_execution_time Tiempo máximo de ejecución (seg) 30 300 600
max_input_time Tiempo máximo de lectura de datos (seg) 60 300 600
max_input_vars Número máximo de variables de entrada 1000 3000 5000

📖 Descripción Detallada de los Parámetros

🧠 memory_limit

Descripción : Cantidad máxima de memoria que un script PHP puede utilizar.

memory_limit = 256M
Tipo de sitio Valor recomendado
Site vitrine simple 128M
Blog WordPress 256M
WordPress + plugins 256M - 512M
WooCommerce 512M
Application PHP lourde 512M - 1024M

Error asociado :

Fatal error: Allowed memory size of 134217728 bytes exhausted

⚠️ Importante : memory_limit debe ser mayor o igual a post_max_size.


📤 upload_max_filesize

Descripción : Tamaño máximo de un archivo individual al subirlo.

upload_max_filesize = 64M
Uso Valor recomendado
Imágenes web optimizadas 16M
Fotos de alta resolución 32M
Temas/plugins WordPress 64M
Videos cortos 128M
Archivos voluminosos 256M+

Error asociado :

El archivo subido excede la directiva upload_max_filesize en php.ini

💡 Consejo : Verifica también los límites en WordPress: Medios → Añadir.


📨 post_max_size

Descripción : Tamaño máximo total de los datos enviados a través de POST (incluye archivos subidos).

post_max_size = 128M

Regla importante :

post_max_size ≥ upload_max_filesize

💡 Consejo : Establece post_max_size ligeramente superior a upload_max_filesize para considerar metadatos.

Ejemplo :

  • upload_max_filesize = 64M
  • post_max_size = 68M o 128M

Error asociado :

Advertencia: La longitud de contenido POST de X bytes excede el límite de Y bytes

⏱️ max_execution_time

Descripción : Duración máxima (en segundos) durante la cual un script puede ejecutarse.

max_execution_time = 300
Operación Valor recomendado
Navegación normal 30 (por defecto)
Importación/exportación WordPress 300
Generación de informes 300 - 600
Migración de sitio 600 - 900
Backups automáticos 600

Error asociado :

Error fatal: Tiempo de ejecución máximo de 30 segundos excedido

⚠️ Atención : En hosting compartido, este valor puede estar limitado (a menudo a 90-120 segundos).


⏳ max_input_time

Descripción : Duración máxima (en segundos) para analizar los datos de entrada (POST, GET, uploads).

max_input_time = 300
Situación Valor recomendado
Formularios simples 60 (por defecto)
Subida de archivos grandes 300
Importar CSV/XML 300 - 600
Conexión lenta 600

💡 -1 = sin límite (no recomendado en producción).


🔢 max_input_vars

Descripción : Número máximo de variables de entrada aceptadas (campos de formulario).

max_input_vars = 3000
Tipo de contenido Valor recomendado
Site simple 1000 (por defecto)
WordPress con menús complejos 3000
WooCommerce con atributos 5000
Constructores de páginas (Elementor, Divi) 5000 - 10000

Síntomas si es demasiado bajo :

  • Menús de WordPress que no se guardan completamente
  • Opciones de tema que desaparecen
  • Variaciones de WooCommerce no guardadas

🐛 display_errors

Descripción : Muestra los errores PHP directamente en la página.

display_errors = Off   # Production (recommended)
display_errors = On    # Development only

⚠️ Security: Always disabled in production! Errors can reveal sensitive information.


📝 error_reporting

Description: Level of detail of errors to report.

Value Description
E_ALL All errors
E_ALL & ~E_NOTICE Errors except notices
E_ALL & ~E_NOTICE & ~E_DEPRECATED Without notices or deprecations
0 No errors

Recommended for production:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

📁 error_log

Description: Path to the file where errors are logged.

error_log = /home/user/logs/php_errors.log

💡 Useful for debugging without displaying errors to visitors.


🔒 allow_url_fopen

Description: Allows opening remote files via URL.

allow_url_fopen = On   # Often required for WordPress

Used by:

  • WordPress updates
  • Retrieval of RSS feeds
  • External APIs

🔐 allow_url_include

Description: Allows inclusion of remote files via include/require.

allow_url_include = Off   # Always disabled (security)

⚠️ Security: Never enable! Major risk of code injection.


⚙️ Method 1: MultiPHP INI Editor (Basic Mode)

The basic mode offers a simple interface with pre-configured fields.

Step 1: Access MultiPHP INI Editor

  1. Log in to cPanel
  2. In the Software section, click on MultiPHP INI Editor

Image

Step 2: Select the location

  1. Stay on the Basic Mode tab
  2. In the dropdown menu "Select a location", choose:
    • Personal directory (home): Applies to all domains
    • Domain document root: Applies only to this domain
    • Image

💡 Tip: To modify a single site, select its document root (e.g., public_html/mysite.com).


Step 3: Modify the settings

After selecting the location, a list of PHP directives appears:

Directive Field to modify
memory_limit Enter 256M
upload_max_filesize Enter 64M
post_max_size Enter 128M
max_execution_time Enter 300
max_input_time Enter 300
max_input_vars Enter 3000

Step 4: Apply the changes

  1. Click on the Apply button
  2. A confirmation message appears:
✅ PHP settings have been successfully updated.

💡 Changes are immediate. No restart required.


🔧 Method 2: MultiPHP INI Editor (Editor Mode)

The editor mode allows adding custom directives not available in basic mode.

Step 1: Switch to Editor Mode

  1. In MultiPHP INI Editor, click on the Editor Mode tab
  2. Select the location (domain or personal directory)

Step 2: Add directives

A text area displays the current content of the php.ini file. You can add lines:

; === CUSTOM CONFIGURATION ===

; Memory and limits
memory_limit = 512M
upload_max_filesize = 128M
post_max_size = 256M

; Execution time
max_execution_time = 600
max_input_time = 600

; Input variables
max_input_vars = 5000

; Error handling (production)
display_errors = Off
log_errors = On
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

; Sessions
session.gc_maxlifetime = 1440

; Timezone
date.timezone = Europe/Paris

Step 3: Save

  1. Click on Save
  2. Verify that the changes are applied (see Verification section)

📝 Method 3: .htaccess File

If MultiPHP INI Editor is not available, you can modify settings via .htaccess.

Add directives

Open the .htaccess file at the root of your site and add:

# === PHP CONFIGURATION ===

# Memory
php_value memory_limit 256M

# Upload
php_value upload_max_filesize 64M
php_value post_max_size 128M

# Execution time
php_value max_execution_time 300
php_value max_input_time 300

# Variables
php_value max_input_vars 3000

# Errors (production)
php_flag display_errors Off
php_flag log_errors On

⚠️ Important: This method only works with the Apache handler (mod_php or suPHP). It does not work with PHP-FPM or CGI.


📄 Method 4: Custom php.ini File

You can create a php.ini file in your site's folder.

Create the file

  1. Using the File Manager in cPanel, go to public_html
  2. Create a new file named php.ini
  3. Add the content:
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000

💡 On some servers, the file must be named .user.ini instead of php.ini.


📄 Method 5: .user.ini File (PHP-FPM)

For servers using PHP-FPM, create a .user.ini file:

Create the file

  1. In public_html, create .user.ini
  2. Add:
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000

⚠️ Changes via .user.ini may take 5 minutes to apply (PHP-FPM cache).


✅ Verify Changes

Method 1: Via WordPress

  1. Go to Tools → Site Health → Info
  2. Expand the Server section
  3. Verifique los valores:
    • Límite de memoria PHP
    • Tamaño máximo de carga
    • Tiempo de ejecución máximo
    • Variables de entrada máximas

Método 2: A través de phpinfo()

  1. Cree un archivo info.php en public_html:
<?php
phpinfo();
?>
  1. Acceda a https://your-site.com/info.php
  2. Busque los parámetros modificados (Ctrl+F)
  3. Elimine el archivo después de verificar (seguridad)

Método 3: A través de WordPress (Medios)

  1. Vaya a Medios → Añadir
  2. El tamaño máximo de carga se muestra:
Tamaño máximo de carga: 64 Mo

🎯 Configuraciones Recomendadas por Tipo de Sitio

Sitio de presentación / Blog simple

memory_limit = 128M
upload_max_filesize = 32M
post_max_size = 64M
max_execution_time = 120
max_input_time = 120
max_input_vars = 1000

WordPress estándar

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000

WordPress + Constructor de páginas (Elementor, Divi, WPBakery)

memory_limit = 512M
upload_max_filesize = 128M
post_max_size = 256M
max_execution_time = 600
max_input_time = 600
max_input_vars = 10000

WooCommerce / E-commerce

memory_limit = 512M
upload_max_filesize = 128M
post_max_size = 256M
max_execution_time = 600
max_input_time = 600
max_input_vars = 5000

PrestaShop

memory_limit = 512M
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 600
max_input_time = 600
max_input_vars = 20000

Aplicación PHP personalizada / API

memory_limit = 256M
upload_max_filesize = 128M
post_max_size = 256M
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000
allow_url_fopen = On

🔧 Solución de Problemas

Los cambios no se aplican

❌ Posible causa ✅ Solución
Cache PHP activo Esperar 5 minutos o vaciar la caché
Ubicación incorrecta seleccionada Verificar que se haya seleccionado el dominio correcto
Archivo .htaccess prioritario Eliminar las directivas PHP del .htaccess
Handler PHP incompatible Usar MultiPHP INI Editor en lugar de .htaccess
Límite del servidor Contactar al proveedor de alojamiento (algunos valores están limitados)

Error 500 después de la modificación

  1. A través de FTP/Gestor de archivos:
    • Renombrar .htaccess a .htaccess.bak
    • O eliminar las líneas php_value añadidas
  2. A través de MultiPHP INI Editor:
    • Volver a los valores por defecto
    • Modificar una directiva a la vez para identificar el problema

"php_value not allowed here"

Este error significa que su servidor utiliza PHP-FPM o CGI:

.htaccess: php_value not allowed here

Solución: Usar MultiPHP INI Editor o crear un archivo .user.ini.


El tamaño de carga de WordPress no cambia

Verificar estos elementos en orden:

  1. upload_max_filesize está modificado correctamente
  2. post_max_sizeupload_max_filesize
  3. memory_limitpost_max_size
  4. ✅ Ningún plugin de WordPress limita la carga
  5. ✅ El tema no establece límites

Orden de prioridad de archivos:

1. php.ini del servidor (prioridad más alta)
2. MultiPHP INI Editor
3. .user.ini o php.ini local
4. .htaccess
5. wp-config.php (WordPress)
6. functions.php (tema)

max_input_vars ignorado

Algunos proveedores de alojamiento limitan este valor. Soluciones:

  1. Contactar al soporte para aumentar el límite
  2. Actualizar a un plan superior
  3. Optimizar los menús de WordPress (menos elementos)

📋 Lista Completa de Directivas PHP Útiles

Memoria y recursos

Directiva Descripción Ejemplo
memory_limit Memoria máxima por script 256M
max_execution_time Tiempo máximo de ejecución 300
max_input_time Tiempo máximo de lectura de datos 300
max_input_vars Número máximo de variables 3000
max_input_nesting_level Nivel máximo de anidamiento de arrays 64

Carga de archivos

Directiva Descripción Ejemplo
upload_max_filesize Tamaño máximo de archivo 64M
post_max_size Tamaño máximo de datos POST 128M
max_file_uploads Número máximo de archivos simultáneos 20
file_uploads Permitir cargas On

Manejo de errores

Directiva Descripción Ejemplo
display_errors Mostrar errores Off
log_errors Registrar errores On
error_reporting Nivel de errores E_ALL & ~E_NOTICE
error_log Archivo de registro /home/user/logs/error.log

Sesiones

Directiva Descripción Ejemplo
session.gc_maxlifetime Tiempo máximo de vida de sesión (seg) 1440
session.cookie_lifetime Tiempo de vida de cookie de sesión 0
session.save_path Ruta de almacenamiento de sesiones /tmp

Seguridad

Directiva Descripción Ejemplo
allow_url_fopen Abrir URL como archivos On
allow_url_include Incluir archivos remotos Off
expose_php Revelar versión de PHP Off
disable_functions Funciones deshabilitadas exec,shell_exec

Varios

Directiva Descripción Ejemplo
date.timezone Fusible horario Europe/Paris
default_charset Codificación por defecto UTF-8
short_open_tag Tags cortos <? Off
output_buffering Buffer de salida 4096

📝 Resumen

MODIFICAR LOS PARÁMETROS DE PHP :

MÉTODO 1 - Editor MultiPHP INI (Recomendado) :
1. cPanel → Software → Editor MultiPHP INI
2. Seleccionar el dominio
3. Modificar los valores
4. Hacer clic en Aplicar

MÉTODO 2 - Modo Editor :
1. Pestaña "Modo Editor"
2. Agregar las directivas manualmente
3. Hacer clic en Guardar

MÉTODO 3 - .htaccess (Solo Apache) :
php_value memory_limit 256M
php_value upload_max_filesize 64M

MÉTODO 4 - .user.ini (PHP-FPM) :
memory_limit = 256M
upload_max_filesize = 64M

VALORES RECOMENDADOS PARA WORDPRESS :
├── memory_limit = 256M
├── upload_max_filesize = 64M
├── post_max_size = 128M
├── max_execution_time = 300
├── max_input_time = 300
└── max_input_vars = 3000

REGLA IMPORTANTE :
memory_limit ≥ post_max_size ≥ upload_max_filesize

VERIFICACIÓN :
├── WordPress : Herramientas → Estado del sitio → Información → Servidor
├── phpinfo() : Crear info.php con <?php phpinfo(); ?>
└── Medios : Verificar el tamaño máximo de carga