fsockopen() & Warnings ???? - PHP - Programmation
Marsh Posté le 10-10-2005 à 21:06:02
le_duc a écrit : |
a mon avis c'est la ligne du dessus mais bon
ben la fonction fsockopen echoue , ca me parait explicite la
Marsh Posté le 10-10-2005 à 21:10:15
betsamee a écrit : a mon avis c'est la ligne du dessus mais bon |
oui, pour la ligne, je pense aussi... mais bon, vu qu'il m'indique ca... voilà koi!
et je sais bien que fsockopen échoue...mais comment je peux faire pour que ca m'affiche pas ce pt1 de warning!!!???
edit: avec un try-catch ca réglerait l'affaire je pense...mais bon j'ai pas encore accès à du PHP5
Marsh Posté le 10-10-2005 à 21:14:41
Code :
|
masquera tout les warnings
Sinon, quel est l'intérêt de :
Code :
|
Si elle a planté, pas besoin de la fermer
Marsh Posté le 10-10-2005 à 21:17:04
Martius a écrit :
|
pourquoi vouloir masquer tous les warnings?
Martius a écrit :
|
+1
Marsh Posté le 10-10-2005 à 21:25:47
Martius a écrit :
|
bah je cherchais des trucs pour empecher qu'il y ait ces erreurs, mais ca marchait pas
et je pige pas pkoi il me met ce warning.... "unable to connect..." -> j'en ai rien à foutre... tout ce que je veux moi c'est que si il peut se connecter il me retourne un true et sinon un false (pas compliqué ) -> donc si "unable to connect" alors FALSE!!!
Marsh Posté le 10-10-2005 à 21:26:13
ReplyMarsh Posté le 10-10-2005 à 21:26:42
et pour l'erreur fatale, vous avez pas une idée?
Merci pour votre aide en tout cas
Marsh Posté le 10-10-2005 à 21:52:11
le_duc a écrit : et pour l'erreur fatale, vous avez pas une idée? |
doc php :
http://fr3.php.net/manual/fr/function.fsockopen.php
Citation : Suivant les environnements, le type 'domaine Unix' ou l'option timeout ne sont pas toujours disponibles. |
Edit : en fait, je sais pas si ça t'aidera beaucoup
Marsh Posté le 10-10-2005 à 21:58:40
Martius a écrit : doc php :
|
eu oui, j'avais déjà lu ca... mais je vois pas trop le rapport (ou alors je comprends pas du tout l'explication )
Code :
|
--> "affecte les fonctions telle que fgets() et fread() qui lisent dans des flux" mais je n'utilise pas du tout ca moi...
Marsh Posté le 10-10-2005 à 22:24:58
excuse moi, c'est à cette fonction que tu dois te référer :
stream_set_timeout()
Citation : Note : Si vous avez besoin de définir un délai limite pour lire/écrire des données à travers cette socket, utilisez la fonction stream_set_timeout(), comme le paramètre timeout de la fonction fsockopen() uniquement appliqué lors de la connexion de la socket. |
http://fr3.php.net/manual/fr/funct [...] imeout.php
Mais je n'ai jamais utilisé les sockets, donc ça reste une supposition.
Marsh Posté le 10-10-2005 à 22:28:29
Martius a écrit : excuse moi, c'est à cette fonction que tu dois te référer :
|
ouais, ca aussi j'avais déjà lu! En fait ma fonction marche parfaitement là... le problème c'est que j'ai une 80aine de serveur à tester à la suite... donc je fais une boucle, il check les premiers serveur et après il y'a cette erreur fatale! Mais je trouve ca bizarre, car pour chaque serveur, je vais réouvre un nouveau fsockopen(), avec un nouveau délai... donc je vois pas pourquoi il me dit que le délai est dépassé!
edit: en plus dans la doc php il utilise ce stream_set_timeout() si la connex. fonctionne! Mais j'ai pas besoin de timeout si la connex fonctionne...dès que je sais qu'elle fonctionne, il peut la fermer!
Marsh Posté le 10-10-2005 à 22:47:51
bah, ce n'est pas plutôt que php tente l'ouverture de la connexion ... et que celle-ci ne se fait pas en moins de 30 sec. ?
Marsh Posté le 10-10-2005 à 23:00:50
80 fois 2 sec comparé à 30 sec, c'est quoi le plus gros des deux?
Dans l'autre sens 30 sec / 80 tentatives = 375 milliseconde par tentative en moyenne.
Tu penses qu'il va y en avoir beaucoup des tentatives qui seront deux fois plus rapide?
Marsh Posté le 10-10-2005 à 23:05:42
re!
en fait j'ai trouvé pour l'erreur fatale... ca n'a rien à voir avec fsockopen...
il faut juste ajouter ca avant de faire la boucle:
Code :
|
Ca définit la limite de temps accordé au script pour s'exécuter! --> 30 sec par défaut!
Marsh Posté le 10-10-2005 à 23:07:53
par contre mtn j'ai un autre Warning qui est apparu :
Code :
|
Je crois que je vais les désactiver à la rustre.... dommage que je puisse pas simplement catcher les erreur (warning)
Marsh Posté le 10-10-2005 à 23:08:08
C'est plus intelligent de découper les tests des serveurs en plusieurs pages je pense.
Après, c'est à toi de voir.
Marsh Posté le 10-10-2005 à 23:14:37
Martius a écrit : C'est plus intelligent de découper les tests des serveurs en plusieurs pages je pense. |
ouais ca serait bien si c'est l'utilisateur qui clique sur un bouton et que ca test les serveur x à x... mais là c'est automatisé --> 4x par jour les serveurs sont testés et leur état (online/offline) enregistré dans une table de ma BDD.
Donc je vois pas trop comment je pourrias faire autrement...
Marsh Posté le 12-10-2005 à 23:30:13
à la fin de l'exécution d'une série, un header('Location:...'); qui redirige vers la même page, mais qui testera les 30 serveurs suivants.
Marsh Posté le 10-10-2005 à 19:45:30
Yop yop!
Comment je peux éviter le Warning et la Fatal Error suivantes ? :
* la ligne 89, c'est le crochet ouvrant du premier IF
et mes lignes de codes :
Merci pour vos réponses!
+++