Error de ubicación de memoria en Joomla o WordPress ( o cualquier otro script )

CÓMO EDITAR EL ARCHIVO PHP.INI PARA INCREMENTAR EL LÍMITE DE MEMORIA

Desde hace ya varios meses hemos tenido muchos reportes en el hospedaje web Linux sobre el siguiente tipo de problema:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 8192 bytes) in /home/tudominio/public_html/wp-includes/theme.php on line 59

El error puede variar ligeramente, la línea que reporta el error igualmente puede cambiar, e incluso puede cambiar el script que marca el error, aunque mayoritariamente los errores han sido reportados desde sitios que usan Joomla o WordPress. Sin embargo, el mensaje:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 8192 bytes)

En donde las cantidades indican un valor real pero cambiante de sitio a sitio, indica un problema de ubicación de recursos, en donde la memoria asignada está agotada, ocupada.

El error es provocado por memoria insuficiente en el archivo php.ini. Un servidor Linux estándar viene por defecto con 8M de memoria y éste requiere incrementarse para evitar este tipo de errores de ubicación de memoria.

En caso no cuentes en tu cuenta de hospedaje web con un archivo php.ini ( el hospedaje  web súperlinux que manejamos sí lo incluye, pero no el hospedaje web premium o el personal ) crea un archivo usando el Editor de Notas de Windows ( Notepad ). Coloca el nombre del archivo como php.ini (ini es la extensión del archivo) y lo subes via ftp o via el panel de control al directorio raíz de tu hospedaje, o al directorio donde tengas instalado el script que genera el mensaje de error. El nuevo archivo php.ini reescribirá los valores por defecto en el servidor.
Incluye en el archivo la siguiente línea:
memory_limit = 42M

El número 42 indica el nuevo límite de memoria establecido, y que es el máximo permitido de memoria en las cuentas de hospedaje web compartido que actualmente ofrecemos. Este límite es mucho más que suficiente para todo tipo de script usado de manera común.

NOTA: no todos los proveedores de hospedaje web permiten realizar este tipo de reescritura vía un php.ini paralelo.

En el caso de NO contar con un hospedaje web que permita la duplicación de archivos php.ini, la mejor recomendación sería modificar el archivo .htaccess que se encuentra en el nivel raíz del directorio principal e incluir la siguiente línea:
php_value memory_limit 42M

 

DONDE ESTA EL ARCHIVO PHP.INI Y CUAL ES MI LIMITE DE MEMORIA ACTUAL
Para conocer el límite de memoria asignado, puedes utilizar la siguiente función:

<?php
//muestra toda la información, por defecto es INFO_ALL
phpinfo();
?>

Coloca esa función en un archivo php, prueba.php por ejemplo, y lo subes a tu cuenta de hospedaje vía ftp o desde el panel de control. Desde el navegador lo ves, y te mostrará la información de configuración en ese servidor. En esa información encontrarás la ubicación del archivo php.ini y el límite de memoria asignado

La ubicación del archivo php.ini de tu servidor la encuentras en:
Configuration File (php.ini) Path
/home/sys/php5/php.ini

(al cual probablemente en una cuenta de hospedaje web compartido no tengas acceso directo)

El límite de memoria actual lo encuentras en:
memory_limit 25M

De esa manera tienes el dato concreto de la memoria asignada y puedes modificar hacia arriba ya sea un archivo paralelo php.ini o el archivo .htaccess.

Esperamos sea de utilidad para tu experiencia de hospedaje web esta información.

[stextbox id=”alert”]El archivo php.ini es un archivo de texto plano. Eso significa que debes usar un programa capaz de producir esos archivos. Uno de ellos es el Editor de Notas, Notepad.
En Mac puedes usar el TextEdit. Debes primero abrir el menú de preferencias de TextEdit y en la sección de nuevo documento elegir “Texto plano”. Inicia un nuevo documento y lo nombras como hayas elegido ( El nombre más común para este archivo es phpinfo.php )[/stextbox]