Foros del Web » Programando para Internet » PHP »

cierre de conexiones a la base de datos y con los sockets

Estas en el tema de cierre de conexiones a la base de datos y con los sockets en el foro de PHP en Foros del Web. Hola a todos. Mi duda es la siguiente: Estoy realizando un proyecto con php y tengo que documentarlo y poner el código utilizado y todo ...
  #1 (permalink)  
Antiguo 22/07/2004, 03:45
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 13 años, 9 meses
Puntos: 5
Sonrisa cierre de conexiones a la base de datos y con los sockets

Hola a todos. Mi duda es la siguiente:

Estoy realizando un proyecto con php y tengo que documentarlo y poner el código utilizado y todo eso. Revisando mi código me he dado cuenta que cada vez que abro una conexion a mi base de datos mysql con:

mysql_connect($servidor_BD,"usuario","contraseña") ;

no cierro nunca las conexiones. De echo he mirado ejemplos por ahi y tampoco lo hacen.

¿no estaría mal abrir conexiones y luego no cerrarlas?

En caso de necesitar cerrar las conexiones, que funcion es la que hay que utilizar?

Lo mismo me pasan con las conexiones de php con socket utilizando:

$Conexion = fsockopen("servidor","4000");

¿estas tambien habría que cerrarlas?

Lo que pasa con estas es que abro un socket por un lado pero por decirlo de alguna manera el servidor que escucha peticiones de los clientes es el que lo crea y se queda esperando peticiones , asi que no se yo si el cliente debe cerrar la comunicacion por su lado o no.

Un saludo
  #2 (permalink)  
Antiguo 22/07/2004, 03:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

PHP cierra todas las conexiones y ficheros automagicamente al acabar la ejecucion del script. Solo seria necesario cerrar esplicitamente en caso de despues de finalizar el uso del recurso (conexion a base de datos, por ejemplo), realices una tarea larga que no necesite el recurso. Por ejemplo, si realizas una consulta, lees los registros en un array, y despues realizas tareas "pesadas" con ese array. En ese caso, seria conveniente cerrar la conexion a la base de datos (mysql_-close()) y liberar el resultado (mysql_free_result()), para liberar recursos que ya no necesitas. Pero normalmente no es necesario. Es cuestion de conocer tu script y donde se consume el mayor tiempo.

Y sobre los sockets, normalmente tienen un sistema de timeout, despues de x tiempo de inactividad se cierra. Pero siempre es de buena educacion despedirse del servidor (con fclose()).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 05:18.