01net    Web


Actuellement en ligne : 836 Utilisateurs dont 37 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> Sript si un site est ok on va dessus sinon on vas sur autre
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 02/12/2006 12:40:10  
Voter pour ce message
Bonjour,
J'ai un serveur pesonnel (linux debian) sur le quel j'héberge mon site. Mais queleque fois il n'est pas toujours opperationnel à 100% (plantage,..). Dans ce cas il serait intéréssant de créer un script php qui permettrait de rediriger vers un de mes autres sites sur un hebergeur officiel 100% fiable.
Le script devrait ressembler a cela:
(ce script sera hébergé sur un serveur fiable à 100%)

<?php
if (http://www.sitepersonnel.com == ok)
{

header("Location: http://www.sitepersonnel.com/");
}
else
{
header("Location: http://www.sitefiable.com/");
}
?>

Voilà j'éspère que mon petit example vous aidera
Merci d'avance
benhamster
-->Message édité par benhamster le 02/12/2006 12:55:52<--
Minus-et-Cortex
  
   
      ?   @     Posté le 02/12/2006 12:50:27  
Voter pour ce message
Salut!

De visu, il n'y a pas d'utilitaire PHP pour pinger un serveur autre qu'un serveur de bases de données. Cependant, si tu essayes d'ouvrir un fichier dont tu es certain de l'existance sur le premier serveur, tu peux en déduire que le serveur est HS ou non. Par exemple si le fichier http://www.premiersite.com/index.html existe, essaye de l'ouvrir et si ça plante, tu en déduis que le serveur est probablement HS, donc tu changes la location dans l'en-tête.

@+
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 02/12/2006 13:00:38  
Voter pour ce message
Slt merci de ta réponse aussi rapide

Mais comment je fais pour dire à php que si ce fichier peut etre accécible je vais dessus, sinon je vais sur un autre ??

PS : j'ai modifié mon premier message
-->Message édité par benhamster le 02/12/2006 13:07:39<--
Beno@
  
  :-)
      ?   @     Posté le 02/12/2006 13:08:01  
Voter pour ce message
si, moi je te le fais:

<?php

$server_principal = 'http://monserver1.com';
$server_alt = 'http://monserver2.com';

if (!system('PING '.$serveur_principal))
{
header ('Location: '.$serveur_alt);
}
else
{
header ('Location: '.$serveur_principal);
}

?>

ca devrait marcher ;)
Minus-et-Cortex
  
   
      ?   @     Posté le 02/12/2006 13:08:45  
Voter pour ce message
<?php
if (http://www.sitepersonnel.com == ok)
{
header("Location: http://www.sitepersonnel.com/");
}
else
{
header("Location: http://www.sitefiable.com/");
}
?>
à remplacer par
<?php
if (($handle = fopen("http://www.sitepersonnel.com/", "r")))
{
fclose($handle);
header("Location: http://www.sitepersonnel.com/");
}
else
{
header("Location: http://www.sitefiable.com/");
}
?>
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 02/12/2006 14:07:16  
Voter pour ce message
slt !
Tout fonctionne avec le script de Minus-et-Cortex par contre j'obtiens une erreur avec le script de Beno@
Merci tout le monde!
Je n'aurai pas crus que cela aurait été aussi vite
encore merci
benhamster
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 02/12/2006 14:17:47  
Voter pour ce message
slt !
Tout fonctionne avec le script de Minus-et-Cortex par contre j'obtiens une erreur avec le script de Beno@
Merci tout le monde!
Je n'aurai pas cru que cela aurait été aussi vite
encore merci
benhamster
-->Message édité par benhamster le 02/12/2006 14:18:06<--
Beno@
  
  :-)
      ?   @     Posté le 02/12/2006 14:24:33  
Voter pour ce message
on peut avoir l'erreur parce que c'est du écrit a la volée :/

par contre, celle de Minux-et-Cortex ne marche qu'a partir de php 5.0.0 ;)
ornite
  
  :-)
      ?   @     Posté le 02/12/2006 14:30:12  
Voter pour ce message
Beno@, c'est peut etre: system ("ping $serveur_principal")

A essayer !!
-------
[:jandre:1]Il faut mieux en mettre plus que moins [:KiWin:1]
Beno@
  
  :-)
      ?   @     Posté le 02/12/2006 14:33:12  
Voter pour ce message
:/
la concaténation devrait marcher :S

edit: surement ping en minuscule :)
-->Message édité par Beno@ le 02/12/2006 14:33:30<--
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 27/12/2006 16:06:15  
Voter pour ce message
Bonjour
je rebondis sur ce sujet car je me suis rendu compte qu'avec le script de minus-et-Cortex ne me renvoyait aucune erreur mais me reirigait directement vers le site secondaire
Je crois que le script de Beno@ sera plus prometteux.
quelle est l'erreur
benhamster
merci d'avance
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 27/12/2006 16:06:28  
Voter pour ce message
up
ornite
  
  :-)
      ?   @     Posté le 27/12/2006 17:31:08  
Voter pour ce message
essaye la proposition que j'ai soulevé dans mon dernier poste. ;)
-------
[:jandre:1]Il faut mieux en mettre plus que moins [:KiWin:1]
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 27/12/2006 17:37:08  
Voter pour ce message
non j'ai déja tout éssayé ce qui est marqué dans ce sujet
edit : ce fichier est héberger par ifrance si c'est ça le problème il faut me le dire :fume:
-->Message édité par benhamster le 27/12/2006 17:49:21<--
ornite
  
  :-)
      ?   @     Posté le 27/12/2006 18:31:35  
Voter pour ce message
Tient, j'ai trouvé ça. J'ai pas essayé mais interresse toi a ça:

http://www.zdnet.fr/builder/programmation/technologies_web/0,39021000,3916366(...)
-------
[:jandre:1]Il faut mieux en mettre plus que moins [:KiWin:1]
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 27/12/2006 21:23:37  
Voter pour ce message
slt c'est intéressant mais il faut pear je ne sais pas si il est installé chez ifrance et puis moi je ne serai pas capable de créer un tel code!!!
edit : mon script (qui vien de beno@) :
<?php

$server_principal = 'http://bding.dyndns.org/apache2-default/index.php';
$server_alt = 'http://debled.redby.info/index.php';

if (!system('PING '.$serveur_principal))
{
header ('Location: '.$serveur_alt);
}
else
{
header ('Location: '.$serveur_principal);
}

?>

merci d'avance
benhamster
-->Message édité par benhamster le 27/12/2006 21:24:57<--
Minus-et-Cortex
  
   
      ?   @     Posté le 27/12/2006 21:48:22  
Voter pour ce message
Beno@ a écrit :
par contre, celle de Minux-et-Cortex ne marche qu'a partir de php 5.0.0 ;)


Salut!

Comme je n'avais pas vu ce message et qu'il remonte, je tiens juste à préciser que ce que j'ai écrit fonctionne (toutefois en mettant un petit @ devant le fopen) avec PHP 4.3.7 donc avec une version antérieure à 5.0.0

Sinon, tu peux toujours passer par les fonctions socket pour essayer de te connecter à un serveur et si la socket retourne une erreur, alors tu fais ce que tu veux ( http://fr3.php.net/manual/en/function.socket-create.php ).

@+
-->Message édité par Minus-et-Cortex le 27/12/2006 21:51:43<--
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 27/12/2006 22:29:11  
Voter pour ce message
Slt minus et cortex
j'ai essayé ton script en mettant le @ devant fopen mais il redirige toujours sur mon site personnel. (comme d'habitude)
Ton script ne me retourne cependant aucune erreur
Voici mon script:

<?php
if (($handle = @fopen("http://bding.dyndns.org/apache2-default/index.php", "r")))
{
fclose($handle);
header("Location: http://bding.dyndns.org/apache2-default/index.php");
}
else
{
header("Location: http://debled.redby.info/index.php");
}
?>

merci d'avance
benhamster
Minus-et-Cortex
  
   
      ?   @     Posté le 27/12/2006 22:34:28  
Voter pour ce message
benhamster a écrit :
Slt minus et cortex
j'ai essayé ton script en mettant le @ devant fopen mais il redirige toujours sur mon site personnel. (comme d'habitude)
Ton script ne me retourne cependant aucune erreur
Voici mon script:
<?php
if (($handle = @fopen("http://bding.dyndns.org/apache2-default/index.php", "r")))
{
fclose($handle);
header("Location: http://bding.dyndns.org/apache2-default/index.php");
}
else
{
header("Location: http://debled.redby.info/index.php");
}
?>


merci d'avance
benhamster


Salut!

Si, lorsque tu testes ce script, ton site est actif (il le faut pour pouvoir tester le script), alors, le fopen réussit donc il t'affiche la première page. Essaye en inversant les deux header("Location:...") et teste à nouveau : tu verras que le script te redirige vers debled.redby.info/index.php
Ou mieux, change @fopen("http://bding.dyndns.org/apache2-default/index.php", "r") par une URL inconnue sur ton site, par exemple @fopen("http://bding.dyndns.org/apache2-default/toto.php", "r"), et tu seras dirigé vers le second site.

@+

-->Message édité par Minus-et-Cortex le 27/12/2006 22:36:57<--
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 28/12/2006 00:47:07  
Voter pour ce message
Slt
Je pense pouvoir dire que le script n'est pas fonctionel:
Prenons un exemple:
je ping sur google.be et donc si google répond je redirige vers dafont.com/fr/index.php.
En cas de problème de google le script redirige vers redby
Ca c'est le fonctionemet théorique du script.
En pratique le script redirige toujours vers redby.
Voici le script:
<?php
if (($handle = @fopen("http://www.google.be", "r")))
{
fclose($handle);
header("Location: http://www.dafont.com/fr/index.php");
}
else
{
header("Location: http://debled.redby.info/siteperso/index.php");
}
?>

Peux tu tester ça de ton côté pour voir si tu arrive à la même conclusion que moi??
benhamster
ornite
  
  :-)
      ?   @     Posté le 28/12/2006 10:04:04  
Voter pour ce message
Une procédure de ping:

http://www.comscripts.com/scripts/php.php-ping.901.html
-------
[:jandre:1]Il faut mieux en mettre plus que moins [:KiWin:1]
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 28/12/2006 10:33:14  
Voter pour ce message
Slt je sais j'ai vu ce script mais j'ai un serveur qui tourne sous linux
ornite
  
  :-)
      ?   @     Posté le 28/12/2006 10:40:14  
Voter pour ce message
Ah oui, c'est embétant. :D

Bon, je vais chercher autre chose.
-------
[:jandre:1]Il faut mieux en mettre plus que moins [:KiWin:1]
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 28/12/2006 15:44:10  
Voter pour ce message
Bonjour
J'ai analyser les différents scripts:
Pour le script de minus-et-cortex: le @fopen c'est assez bizar vu que cette variable sert à ouvrir un fichier et je ne crois pas que ca ouvrirait un site si ???
Pour le script de beno@ : il parait que system(ping ... ) n'existe pas.

J'ai effectuer plusieurs test avec le script de Minus-et-cortex
la 1ère colone équivaut au numéro (nécésaire pour que je commente après)
<?php
if (($handle = @fopen("2ème colone", "r")))
{
fclose($handle);
header("Location: 3ème colone");
}
else
{
header("Location: 4ème colone");
}
?>

la 5ème colone équivaut ou le script me redirige
la 6ème colone dit si le script est ok ou pas
donc voici le tableau (désolé pour la mise en forme mais il n'y a pas de fonction tableau):

1.........|a,com.......|a,com.......|redby.......|redby.........................................|OK
2.a.......|bding.......|bding.......|redby.......|si apache est démaré = redby............|PAS OK
...b......|..............|...............|redby.......|si apache n'est pas démaré = redby....|OK
3.........|google......|bding.......|redby.......|redby............................................|PAS OK
4.........|google......|dafont......|redby.......|redby............................................|PAS OK

si vous regardez bien il me redirige toujours vers la 4ème colone
merci d'avance
benhamster
Minus-et-Cortex
  
   
      ?   @     Posté le 29/12/2006 00:10:19  
Voter pour ce message
Salut!

J'étais un peu occupé ces temps-ci. J'ai essayé ton script
<?php
if (($handle = @fopen("http://www.google.be", "r")))
{
fclose($handle);
header("Location: http://www.dafont.com/fr/index.php");
}
else
{
header("Location: http://debled.redby.info/siteperso/index.php");
}
?>


Il me dirige bien vers dafont.com (site que je ne connaissais d'ailleurs pas).

@+
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 29/12/2006 12:22:22  
Voter pour ce message
Slt éffectivement suite a ton message j'ai essayé ce script sur redby et ifrance et sur ces deux hébergeurs le script ne fonctionne pas
Parcontre sur mon serveur peu fiable le script fonctionne très bien
Seulement ce script ne peu pas etre mis sur mon serveur peu fiable car le but est de faire que si ce serveur peu fiable fonctionne on va dessus sinon on va sur un autre site. Mais donc ce script doit etre disponible 24h/24 7j/7
Question : Sur quel hebergeur est tu???, Est-til fiable ???
Beno@
  
  :-)
      ?   @     Posté le 29/12/2006 12:46:48  
Voter pour ce message
benhamster a écrit :
Slt éffectivement suite a ton message j'ai essayé ce script sur redby et ifrance et sur ces deux hébergeurs le script ne fonctionne pas
Parcontre sur mon serveur peu fiable le script fonctionne très bien
Seulement ce script ne peu pas etre mis sur mon serveur peu fiable car le but est de faire que si ce serveur peu fiable fonctionne on va dessus sinon on va sur un autre site. Mais donc ce script doit etre disponible 24h/24 7j/7
Question : Sur quel hebergeur est tu???, Est-til fiable ???

sur tes serveurs distant, la fonction des url pour fopen a du être désactivée ou alors n'est pas disponible car la version de php est trop vieille :/
Beno@
  
  :-)
      ?   @     Posté le 29/12/2006 12:51:19  
Voter pour ce message
essai toujours

$serv1='http://site1.com';
$serv2='http://site1.org';
if (!file_get_contents($serv1)) header ('Location: '.$serv2);
else header ('Location: '.$serv2);
Minus-et-Cortex
  
   
      ?   @     Posté le 29/12/2006 13:19:30  
Voter pour ce message
Salut!

C'est pas dit que ce script fonctionne mieux : il faut pour ouvrir des URL avoir activé ce support lors de la compilation de PHP (voir http://fr.php.net/manual/en/ref.filesystem.php#ini.allow-url-fopen ). Il te reste toujours la possibilité de manipuler des sockets.

@+
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
Beno@
  
  :-)
      ?   @     Posté le 29/12/2006 13:38:04  
Voter pour ce message
Minus-et-Cortex a écrit :
Salut!

C'est pas dit que ce script fonctionne mieux : il faut pour ouvrir des URL avoir activé ce support lors de la compilation de PHP (voir http://fr.php.net/manual/en/ref.filesystem.php#ini.allow-url-fopen ). Il te reste toujours la possibilité de manipuler des sockets.

@+

ouais je sais ...
mais sinon, pourquoi ca ne serait pas l'inverse? le serveur faillible qui enverait toutes les x minutes une requette au serveur distant pour lui signaler qu'il est actif?
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 29/12/2006 14:11:43  
Voter pour ce message
slt tout le monde
J'aimerais bien savoir quel hébergeur utilise minus et cortex??? vu que sur son hébergeur sa marche.
Pour le script de Beno@ je vais regarder ca tout de suite
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 29/12/2006 14:20:59  
Voter pour ce message
Bon voila j'ai tésté le script de Beno@ sur mon serveur sa marche très bien par contre sur un aure serveur sa va pas
voici le résultat :
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /data/users/d/debled/index.php on line 5

Warning: file_get_contents(http://bding.dyndns.org/apache2-default/index.php) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /data/users/d/debled/index.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at /data/users/d/debled/index.php:5) in /data/users/d/debled/index.php on line 5


PS : C'est pour ça que je demande l'hébergeur de Minus ou cortex
Si quelqu'un connait un hébergeur (même si il n'y a qu'un Mo) et qu'il n'y a pas mysql qui est gratuit, et qui n'a pas refusé beaucoup de chose.
-->Message édité par benhamster le 29/12/2006 14:21:39<--
Minus-et-Cortex
  
   
      ?   @     Posté le 29/12/2006 14:53:31  
Voter pour ce message
benhamster a écrit :
PS: C'est pour ça que je demande l'hébergeur de Minus-et-Cortex


Je suis mon propre hébergeur, sur ma machine personnelle.

@+
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 29/12/2006 14:55:42  
Voter pour ce message
Il est fiable??? Il est allumé 24Hsur 24 ??? Est-ce que tu pourais mettre mon fichier sur ton serveur si il est fiable???
Minus-et-Cortex
  
   
      ?   @     Posté le 29/12/2006 15:07:58  
Voter pour ce message
Je ne vois pas bien ce que tu entends par fiable, mais en tout cas, il n'est pas allumé 24/24 (pas encore, bientôt peut-être).

@+
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
Beno@
  
  :-)
      ?   @     Posté le 29/12/2006 15:31:00  
Voter pour ce message
http://www.heisspiter.net/index.php
http://www.hostweb.fr/?page=home
-->Message édité par Beno@ le 29/12/2006 15:34:12<--
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 29/12/2006 21:54:28  
Voter pour ce message
Ce que j'attend par fiable c'est qu'il est allumé 24h/24 et qui ne plante pas trop souvent
ps je me suis inscript sur heisspiter.net je n'ai plus qu'a attendre l'activation
tuxben
  
   
      ?   @     Posté le 01/01/2007 01:17:35  
Voter pour ce message
je crois que j'ai déja vus un hebergeur qui te conviendrais mais je ne sais plus le quel je te le dirai si je m'en ressouvien
-->Message édité par tuxben le 01/01/2007 01:19:22<--
benhamster
  linux, ça dech
  :-)
      ?   @     Posté le 01/01/2007 01:21:12  
Voter pour ce message
Mauvaise nouvelle hostweb n'a pas accepté ma proposition d'hebergement.
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> Sript si un site est ok on va dessus sinon on vas sur autre

Aller à :

Page générée en : 0.217s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Entretien du PC
Analyser la stabilité de votre PC puis retrouver un ordinateur sain, rapide et performant.