¿Cómo incrementar el límite de memoria PHP?

Generalidades

Cada instalación de PHP viene con una configuración predeterminada las cuales se ajustan a las necesidades de la mayoría de los sitios web. De vez en cuando , las necesidades de un sitio web requieren un ajuste en las configuraciones del PHP. Por ejemplo, puede que tu sitio necesite incrementar el límite de memoria para permitir que un proceso llegue a término. En ese caso, debes crear un archivo php.ini (phprc) y actualizar dicho valor.

El archivo phprc en DreamHost

El término estándar para un archivo de configuración PHP es php.ini. Sin embargo, DreamHost aplica el término "phprc" en su lugar. Este archivo funciona de la misma manera – solo el nombre es diferente. En este artículo, sólo vamos a usar el término phprc.

Algunas variables (particularmente, el límite de memoria: memory_limit, tamaño máximo de subida por post post_max_size y tamaño máximo de archivo upload_max_filesize) están sujetas a limitaciones internas; hacer un incremento significativamente mayor a los valores predeterminados dará como resultado un mal funcionamiento y ocasionará inconvenientes en tu sitio web.

¿Por qué incrementar el límite de memoria PHP?

PHP permite que se use una cantidad predeterminada de memoria al procesar un sitio web. A veces, un sitio web necesita más que la cantidad predeterminada de memoria. Si ese es el caso, puedes aumentarlo para satisfacer las necesidades de tu sitio.

También puede recibir un error en su sitio que indica que se ha alcanzado el límite de memoria. Puede aparecer así:

Fatal error: Allowed memory size of 94371840 bytes exhausted (tried to allocate 5072 bytes)

Este error significa que tu sitio necesita más memoria de la que está disponible actualmente. Si ves un error como este, intenta aumentar el límite de memoria en 10 MB. Luego continúa ajustando según sea necesario.

Incrementar el límite de memoria PHP

El límite de memoria predeterminado es 90M y esto suele ser más que suficiente para la mayoría de las necesidades. Si necesitas aumentar este límite, debes crear un archivo phprc. Consulta los siguientes artículos para obtener instrucciones sobre cómo crear un archivo phprc.

Si el archivo ya existe, revisa los siguientes artículos para obtener instrucciones sobre cómo actualizarlo (dependiendo de si estás utilizando un cliente FTP o SSH):

Si deseas aumentar este límite, agrega la siguiente línea:

memory_limit = 128M

Si te das cuenta de que está aumentando la memoria en gran medida, es hora de considerar abandonar el alojamiento compartido, ya que tu sitio web tiene mayores necesidades de las que el alojamiento compartido puede proporcionar de manera confiable.

Pasos extra para sitios WordPress

Si estás ejecutando un sitio de WordPress, la configuración en el archivo phprc puede no tener efecto ya que WordPress lo anula en su archivo wp-config.php. Para solucionar esto, solo actualiza el archivo wp-config.php con el límite de memoria específico. Por ejemplo:

  1. Conectate a tu sitio WordPress ya sea por FTPSSH.
  2. Asegúrate de estar en el directorio de tu sitio. Verás el archivo wp-config.php aquí.
  3. Edita el archivo (usando FTPSSH) para agregar las siguientes líneas. Asegúrate de agregarlos antes de la inclusión 'wp-settings.php'. Por ejemplo:
    define( 'WP_MEMORY_LIMIT', '128M' );
    define( 'WP_MAX_MEMORY_LIMIT', '128M' );
    
    /** Sets up WordPress vars and included files. */
    require_once(ABSPATH . 'wp-settings.php');

Revisa el siguiente artículo para más información.

Elimina todos los procesos de php en ejecución

Asegúrate de eliminar los procesos php en ejecución para asegurarte de que la nueva configuración surta efecto.

Confirma tus cambios

Después de editar el archivo y eliminar todos los procesos PHP, debes verificar para confirmar que los valores se hayan actualizado. Esto lo puedes hacer al crear un archivo phpinfo.php file.

Si no ves que tus cambios se han actualizado, intenta eliminar los procesos PHP nuevamente:

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.