Foros del Web » Programando para Internet » PHP »

Rebotar entre servers si están caídos

Estas en el tema de Rebotar entre servers si están caídos en el foro de PHP en Foros del Web. Pregunta muy tonta; después de mucho programar en PHP, ahora me toca algo que nunca había hecho. Necesito hacer una intranet, la cual en su ...
  #1 (permalink)  
Antiguo 24/04/2007, 02:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 33
Antigüedad: 20 años, 6 meses
Puntos: 0
Rebotar entre servers si están caídos

Pregunta muy tonta; después de mucho programar en PHP, ahora me toca algo que nunca había hecho. Necesito hacer una intranet, la cual en su entrada va a redirigir siempre a un mismo servidor, pero si éste se cae, ha de rebotar a otro. Y he aquí mi pregunta: ¿hay funciones concretas para comprobar que un servidor está up? Porque lo iba a hacer a lo tío bruto, comprobando si existe un archivo en el servidor principal con file_exists() y si devolvía false, tirar del otro servidor. Supongo que hay alguna manera menos chapucera de hacer esto.

¿Alguien sabe? Gracias anticipadas.
  #2 (permalink)  
Antiguo 24/04/2007, 09:27
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 20 años, 3 meses
Puntos: 5
Re: Rebotar entre servers si están caídos

Si la hay, chequeate esta función de php llamada fsockopen

http://www.php.net/fsockopen

Saludos.-
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #3 (permalink)  
Antiguo 25/04/2007, 03:44
 
Fecha de Ingreso: octubre-2003
Mensajes: 33
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Rebotar entre servers si están caídos

Muchísimas gracias :) Ya ando en ello, a ver qué tal.
  #4 (permalink)  
Antiguo 23/05/2007, 04:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 33
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Rebotar entre servers si están caídos

Por si a alguien le pudiera venir bien, dejo por aquí la función con la que he resuelto el problema:

Código PHP:
define ('PRIMARY_SERVER''server1.es.empresa.com'); # Servidor primario
define ('SECONDARY_SERVER''server2.es.empresa.com'); # Servidor secundario

function chooseServer() {
 
$server1_is_up = @fsockopen(PRIMARY_SERVER80);
 if (!
server1_is_up) {
  
$server2_is_up = @fsockopen(SECONDARY_SERVER80);
  if (!
$server2_is_up) {
   echo 
'Los servidores primario y secundario están caídos';
  } else {
   
header('Location: ' .SECONDARY_SERVER'/ruta_relativa/');
  }
 } else {
  
header('Location: ' .PRIMARY_SERVER'/ruta_relativa/');
 }

Gracias a xyyy7 por la ayuda ;)
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 21:40.