El post que buscas se encuentra eliminado, pero este también te puede interesar

[Joomla] Solucion-Fatal error: Allowed memory size exhausted

Anuncios

[Joomla] Solucion-Fatal error: Allowed memory size exhausted


Hola, antes que nada quiero aclarar que no soy muy conocedor de esto, por lo que es probable que no pueda responder a preguntas especificas.

Fatal error: Allowed memory size of 54525952 bytes exhausted (tried to allocate 71 bytes) in /mounted-storage/home/sub999/sc3123245-FCHS/sitio.com/ljoomla/libraries/phputf8/substr_replace.php on line 22

Estoy seguro que mas de uno ya se encontró o lo hará con un mensaje de error de esta característica,, si no tuvieron aún, igualmente es recomendable leer este post para evitar llegar a esto. Básicamente, lo que haré es traducir el post original, para que los que no hablan inglés puedan aprovechar esta solución que es muy simple y super importante.

Fuente de la info, original en inglés: itoctopus.com

Título original:
"Allowed Memory Size of x Bytes Exhausted" Error on Joomla


"Tamaño de memoria alojada x bytes agotada" Error en Joomla

Controlando las paginas de tu sitio Joomla, te encontras con que no abre una pagina, y te tira este error:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 5298178 bytes)

Entonces te preguntas,
¿Porqué sale este error?
¿Qué causa este error?
¿Cómo puedo repararlo inmediatamente y como evitar que vuelva a ocurrir?


¿Qué pasó?

El error de "Tamaño de memoria alojada x bytes agotada", no es del Joomla, es un error de PHP. Esto ocurre cuando el PHP necesita más memoria para poder ejecutar tus scripts, y no puede agregar más memoria esta esta limitada a 128 MB (128 MB=134217728 bytes, teniendo en cuenta que 128MB es solo un ejemplo, el límite de la memoria en tu sitio puede ser mayor o menor.
En forma predeterminada el límite de memoria esta determinada en el archivo php.ini


¿Cuál es la causa de este problema?

Joomla es un sistema CMS que consume mucha memoria y en ocasiones consume mucha memoria para procesar una página web, especialmente si esta contiene muchas extensiones de terceros que también pesan a la memoria. En un trabajo reciente, el cliente estaba utilizando una extensión que estaba generando 200.000 columnas a la tabla del MySQL. El autor de dicha extensión, ni siquiera estaba consciente de que se utilizaría para procesar tanta cantidad de información, y por supuesto, no lo había optimizado. Por supuesto, el cliente estaba con el problema de "Tamaño de memoria alojada..." cada vez que la extensión funcionaba.


¿Cómo puedo solucionar este problema inmediatamente?

La manera más rápida y convincente para solucionar este problema es incrementando el límite de memoria del PHP. La memoria del PHP puede aumentarse en 1 de las 4 maneras que listamos a continuación:
1- Aumentar el límite de memoria a nivel del servidor (global php.ini): Esto solo puede realizarse si el sitio web esta corriendo en un servidor dedicado o en un VPS. Lo que se debe hacer, es modificar el archivo php.ini y cambiar el valor del memory_limit a una cantidad mayor. Una vez realizado esto se debe reinicar el servidor Apache para que los cambios tengan efecto.

2- Aumentar el límite de memoria a nivel de la aplicación (local.php.ini): Esto se puede realizar, haciendo una copia del archivo global php.ini y cambiar el valor del memory_limit a una cantidad mayor, y luego subir el archivo modificado y reemplazar el anterior que la carpeta raíz donde se encuentra el sitio de joomla. Ejemplo: /public_html/ or /public_html/yourjoomlawebsite.com/, para hacer esto necesitarás ser el administrador del servidor.

3- Aumentar el límite de memoria a nivel del .htaccess: Esto se puede realizar agregando la línea mencionada más abajo al inicio del archivo .htaccess, que se encuentra alojado en la raíz de la carpeta del sitio joomla:

php_value memory_limit 512M

4- Aumentar el límite de memoria a nivel de códigos: Esto se puede realizar, agregando la línea mencionada más abajo al inicio del archivo index.php que se encuentra en en la raíz de la carpeta que tiene el sitio de Joomla, no lo agregues en el archivo de configuration.php porque cada cambio en la configuración sobreescribirá el anterior y el cambio personalizado se perderá.

ini_set('memory_limit', '512M');

¿Ahora, cuál de las opciones es la mejor forma de aumentar el límite de memoria? Creemos que las mejores maneras de aumentar el límite de memoria son la de modificando el archivo de index.php o el archivo de .htaccess. La ventaja es que si cambias de hosting, las configuraciones de límite de memoria en tu PHP se mantendrán iguales.


¿Cómo evitar volver a tener este problema?

Aumentando el límite de memoria con los códigos mencionados más arriba, no es la solución permanente al problema, ya que este es causado por una mala codificación. La mejor manera de solucionar este problema de una vez por todas es optimizando los códigos que están causando que el sitio de Joomla se agote el límite de memoria alojado en la instancia de PHP. En algunos casos, aumentar el límite de memoria no solucionará el problema para nada (seguirás viendo fatal error), si esto ocurre, deberás corregir la modificación realizada eliminando lo que se agregó.

Si estas teniendo problemas con el limite de memoria, no te desesperes, estamos para ayudarte, contáctanos y solucionaremos tu problema al instante y te aseguramos, que nuestro trabajo no cuesta mucho

--------------------------------


Ahí esta la transcripción, por respeto a los que escribieron el post original, agregue su propaganda.

Espero esta traducción les haya sido útil, como me fue a mi el original!!



joomla

0 comentarios - [Joomla] Solucion-Fatal error: Allowed memory size exhausted