¿Qué es el límite de memoria de PHP y cómo se puede cambiar?
PHP es un lenguaje de programación que ofrece condiciones óptimas para aplicaciones web. Se utiliza en casi todos los sistemas de gestión de contenidos (CMS) como TYPO3, WordPress, Joomla o Contao y en sistemas de tienda como Shopware y Magento. Las configuraciones esenciales se almacenan en un archivo de configuración central php.ini, que a menudo puede editarse desde el CMS o directamente con un editor de texto. Un parámetro importante de este archivo es el PHP Memory Limit.
Qué significa exactamente el término PHP Memory Limit y cómo puede ajustarse de forma individual lo explica el siguiente artículo:
¿Cómo funciona PHP?
PHP pertenece a los llamados lenguajes de scripting. Esto significa que los programas se escriben como código de fácil comprensión. A continuación, un intérprete se encarga del procesamiento, leyendo un programa línea por línea y ejecutando las instrucciones según su php.ini. CMS como Magento, WordPress o Joomla constan de numerosos scripts, cada uno con una tarea determinada. Se cargan en una zona específica de la memoria RAM, que está limitada por el límite de memoria de PHP y que puede aumentarse de forma individual. Los scripts PHP sirven para crear una página web en formato HTML a partir de distintas fuentes como una base de datos, archivos externos y hojas de estilo —los archivos CSS—. Esta se complementa con scripts del lado del cliente escritos en otros lenguajes como Java o JavaScript, que permiten, por ejemplo, interacciones como juegos o menús animados. Paquetes de espacio web adecuados con soporte PHP se pueden encontrar en el Comparativa de Hosting web PHP.
¿Qué es el límite de memoria de PHP y para qué sirve?
Como ya se ha mencionado, PHP reserva una parte de la memoria RAM para almacenar y ejecutar scripts. El tamaño de esta zona se define mediante el límite de memoria de PHP en el php.ini. La limitación mediante el límite de memoria de PHP protege a un equipo de que una programación deficiente o errónea afecte a su rendimiento. Un ejemplo sencillo sería un bucle que crea y guarda una variable cuyo nombre y valor aumentan en 1 en cada iteración. Sin un límite de memoria de PHP en el php.ini, esto provocaría que, con el tiempo, toda la memoria RAM quedase ocupada por ese único bucle. Como consecuencia, aumentan los tiempos de carga y, en ocasiones, incluso el sistema operativo puede volverse inestable, ya que no hay memoria disponible para sus datos.
¿Cuál debería ser el límite de memoria de PHP en un entorno productivo?
En un hosting web, el valor predeterminado del límite de memoria de PHP suele estar entre 32 MB y 64 MB. Esto es suficiente para la instalación básica de un CMS como WordPress, Contao, Joomla o TYPO3 y permite un funcionamiento estable. Plugins complejos, bases de datos grandes o muchas extensiones hacen que se necesite más memoria para los scripts y sus datos. En ese caso, PHP en lugar de mostrar la página web devuelve un mensaje de error que, por ejemplo, indica lo siguiente:
Error fatal: se agotó el tamaño de memoria permitido de XXXXXX bytes (se intentaron asignar XXXXXX bytes) en /var/www/html/skript.php
En este caso es necesario aumentar el límite de memoria de PHP para que el intérprete disponga de suficiente memoria temporal para la ejecución de todos los scripts. Los límites recomendados para un CMS están entre 32 MB (WordPress) y 256 MB (Shopware): más de 512 MB rara vez son necesarios y, con frecuencia, indican problemas en la programación.
Encuentra aquí hosting web con al menos 128 MB de límite de memoria PHP:
Espacio de almacenamiento
Dominios incluidos
Espacio de almacenamiento
Dominios incluidos
Espacio de almacenamiento
Dominios incluidos
Espacio de almacenamiento
Dominios incluidos
Espacio de almacenamiento
Dominios incluidos
Publica ahora tu solicitud personalizada de forma gratuita y sin compromiso y recibe ofertas en muy poco tiempo.
Iniciar solicitud¿Cómo aumentar el límite de memoria de PHP?
La mayoría de los proveedores de hosting permiten a sus clientes aumentar el límite de memoria de PHP dentro de ciertos límites. Existen varios métodos, que no todos los proveedores ofrecen simultáneamente:
- Método 1: Modificación en la php.ini
La php.ini contiene la configuración "global" del intérprete PHP: las modificaciones en la php.ini se aplican, en principio, a todo el servidor. No obstante, algunos proveedores permiten crear una php.ini personalizada en la que los clientes pueden establecer ajustes locales. La php.ini está mayormente compuesta por comentarios que documentan el archivo y sus funciones de forma extensa y clara. Contiene una sección Resource Limits, en la que, además del tiempo máximo de ejecución de un script, también se puede aumentar el límite de memoria de PHP. Se define con la entrada
memory_limit = 64M
— aquí son 64 MB. En un Servidor Dedicado o VPS propio, los clientes pueden, por supuesto, aumentar libremente el límite de memoria de PHP. En un hosting compartido, el proveedor normalmente prohibirá a sus clientes modificar configuraciones globales (que afectan también a otros usuarios).
- Método 2: Un archivo .htaccess
Aparte de la php.ini, el límite de memoria de PHP también se puede aumentar mediante un archivo .htaccess. Este reside en el directorio raíz de WordPress, TYPO3, Contao u otros CMS e incluye instrucciones que se leen y aplican antes de ejecutar un script. La limitación decisiva es que .htaccess solo está soportado por un servidor web Apache 2. Para aumentar el límite de memoria de PHP basta con crear un archivo llamado .htaccess con el contenido
php_value memory_limit 64M
- Método 3 (WordPress): Definición en la config.php
Algunos CMS como WordPress permiten aumentar el límite de memoria de PHP en su archivo de configuración local. Para ello hay que abrir el archivo Installation/wp-config.php (WordPress) e insertar la siguiente redefinición
define('WP_MEMORY_LIMIT', '64M');
Hay que tener en cuenta que cada plan de alojamiento y cada proveedor de servicios de Internet restringe el límite máximo de memoria PHP de sus clientes para controlar el consumo de memoria. El tope permitido suele situarse, según el proveedor, entre 128 y 512 MB. Una supervisión del servidor debería ser un imprescindible para la gestión profesional de un sitio web.
Compara ahora ofertas de proveedores de hosting adecuados
Ir al comparador de proveedores
Crédito de la imagen: Image by Dok Sev from Pixabay
Tags zu diesem Vergleich
Artículos sobre esta comparativa
Lo que debes saber sobre el Soporte Extendido de PHP
Este artículo examina el concepto del Soporte Extendido de PHP, una iniciativa de proveedores de hosting que tiene como ...