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_limitdebe ser mayor o igual apost_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_sizeligeramente superior aupload_max_filesizepara considerar metadatos.
Ejemplo :
upload_max_filesize = 64Mpost_max_size = 68Mo128M
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
- Log in to cPanel
- In the Software section, click on MultiPHP INI Editor

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

- Personal directory (
💡 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
- Click on the Apply button
- 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
- In MultiPHP INI Editor, click on the Editor Mode tab
- 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
- Click on Save
- 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
- Using the File Manager in cPanel, go to
public_html - Create a new file named
php.ini - 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.iniinstead ofphp.ini.
📄 Method 5: .user.ini File (PHP-FPM)
For servers using PHP-FPM, create a .user.ini file:
Create the file
- In
public_html, create.user.ini - 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.inimay take 5 minutes to apply (PHP-FPM cache).
✅ Verify Changes
Method 1: Via WordPress
- Go to Tools → Site Health → Info
- Expand the Server section
- 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()
- Cree un archivo
info.phpenpublic_html:
<?php
phpinfo();
?>
- Acceda a
https://your-site.com/info.php - Busque los parámetros modificados (Ctrl+F)
- Elimine el archivo después de verificar (seguridad)
Método 3: A través de WordPress (Medios)
- Vaya a Medios → Añadir
- 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
- A través de FTP/Gestor de archivos:
- Renombrar
.htaccessa.htaccess.bak - O eliminar las líneas
php_valueañadidas
- Renombrar
- 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:
- ✅
upload_max_filesizeestá modificado correctamente - ✅
post_max_size≥upload_max_filesize - ✅
memory_limit≥post_max_size - ✅ Ningún plugin de WordPress limita la carga
- ✅ 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:
- Contactar al soporte para aumentar el límite
- Actualizar a un plan superior
- 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
