¿Cómo aumentar el memory_limit de PHP?
Él que ya recibió una vez éste error (o parecido) y que desea saber cómo resolverlo, debería leer éste artículo.
(tried to allocate X bytes) in /var/www/index.php on line 123[/php]
Éste error significa que PHP intenta usar más memoria que la permitida en las configuraciones. En el siguiente artículo muestro cómo se puede aumentar este Límite.
1. En php.ini
Éste es el archivo principal de configuración de PHP, generalmente está en /etc/php/php.ini, /etc/php4/php.ini, /etc/php4/php.ini y/o también /etc/php/apache2/php.ini
Para editar este archivo, se necesitan derechos root, si no los tiene, puede saltar ésta parte y leer los otros dos métodos.
Normalmente debería decir una frase:
[php]memory_limit = 16M ; Maximum amount of memory a script may consume (16MB)[/php]
Sólo tenemos que cambiar el valor que deseamos:
memory_limit = 32M[/php]
y después de reiniciar el servidor web, los cambios deberían ser aplicados:
[php]/etc/init.d/apache2 restart[/php]
2. Con un archivo .htaccess
[php]php_value memory_limit 32M[/php]
Nota:
Puede ser que su proveedor de Hosting ha desactivado ésta función, en éste caso pregúntale para hacer cambios.
3. Directamente con PHP
Si la función ini_set() no está desactivada, puede cambiar el valor directamente en el Script PHP que lo necesita. Ésto se realiza mediante:
[php]ini_set(‘memory_limit’, ’32M’);[/php]
Los Cambios se aplicarán de inmediato.
Éste método es muy recomendable ya que proporciona mejor control sobre los usos de PHP.
Me ayudaria mucho si pusieras el ejemplo de un archivo php.ini, sobretodo si tiene estos valores:
memory_limit=64M
max_execution_time=0
max_input_time=0
post_max_size=64M
upload_max_filesize=64M
muchas gracias