Foros del Web » Programando para Internet » PHP »

PHP me morfa la RAM.

Estas en el tema de PHP me morfa la RAM. en el foro de PHP en Foros del Web. Tengo este problema desde que estoy en un hosting de medio pelo. El tema es que tengo que tratar de solucionar este problema; o sea, ...
  #1 (permalink)  
Antiguo 25/09/2006, 20:24
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 16 años, 1 mes
Puntos: 4
PHP me morfa la RAM.

Tengo este problema desde que estoy en un hosting de medio pelo.
El tema es que tengo que tratar de solucionar este problema; o sea, manejarme con los recursos de memoria que me da el server. Son 8 Megas.

Me di cuenta del problema cuando quise generar una mini imagen a partir de una imagen medianamente grande. Ahi me quede sin memoria.

El tema es que si yo uso solo el script para generar imagenes la memoria me alcanza.
Ahora, cuando quiero hacerlo conjuntamente con los otros scripts que tengo (basicamente Objetos y Conexiones de con la dB) no me alcanza la memoria.

Como puedo hacer para liberar memoria ?
Consejos utiles, etc ... Alguien me puede dar una mano ?

Saludos y Gracias.
__________________
| Cabeza De Raton |
  #2 (permalink)  
Antiguo 25/09/2006, 22:48
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 18 años
Puntos: 0
Cuando usas consultas a bases de datos, libera la memoria com mysql_free_results($resource);
donde $resource = mysql_query($sql_consulta,$coneccion);

http://ar2.php.net/manual/es/functio...ree-result.php

Saludos
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #3 (permalink)  
Antiguo 26/09/2006, 05:41
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 16 años, 1 mes
Puntos: 4
Gracias Viejo.
Existe alguna forma de saber la memoria que estoy utilizando en el server ?
__________________
| Cabeza De Raton |
  #4 (permalink)  
Antiguo 26/09/2006, 06:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 18 años, 3 meses
Puntos: 129
Podrías usar:


http://www.php.net/manual/en/functio...-get-usage.php

Ojo con las versiones de PHP para las que está disponible:
(PHP 4 >= 4.3.2, PHP 5)

Tienes otras soluciones descritas en los comentarios de los usuarios de esa misma función por si usas otras versiones de PHP. Ten presente que esas otras soluciones usan comandos determinados del S.O. de tu servidor (así que no serán iguales en PHP bajo Windows que en Linux) y/o puede ser que no tengas permisos para ejecutar esos comandos .. (vamos, que no te asegura nada que esas opciones funcionen en tu caso concreto).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 26/09/2006, 07:00
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 16 años, 1 mes
Puntos: 4
Gracias Cluster.
Cuando yo creo un Objeto ocupo memoria en el servidor, como cuando creo variables, etc ... Es necesario destruir al objeto para liberar la memoria ?.
Habia leido (creo) que a partir de una version de php ya no es necesario destruirlo.
__________________
| Cabeza De Raton |
  #6 (permalink)  
Antiguo 26/09/2006, 08:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 18 años, 3 meses
Puntos: 129
Cita:
Iniciado por Calisco Ver Mensaje
Gracias Cluster.
Cuando yo creo un Objeto ocupo memoria en el servidor, como cuando creo variables, etc ... Es necesario destruir al objeto para liberar la memoria ?.
Habia leido (creo) que a partir de una version de php ya no es necesario destruirlo.
Con unset() (www.php.net/unset) liberas la memoria consumida por cualquier tipo de variable. Con respecto a instancias de objetos, desconozco el proceso (puedes consultar en el sub-foro de POO).

En general, PHP al terminar la ejecución del script libera toda memoria ocupada por la ejecución del mismo, cierra conexiones (no persistentes) si las hubieras hecho .. etc.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:45.