Script test nom de domaine

WRInaute impliqué
Bonjour je ne sais pas si j'ai choisi le bon forum :(
j'ai un script qui teste l'existance du nom de domaine :
Code:
<?php
// Adresse du serveur Web à tester
$server = 'http://www.pipofqsdf.com';
// Temps avant expiration du test de connexion
define('TIMEOUT', 30);
$tab = parse_url($server);
$tab['port'] = isset($tab['port']) ? $tab['port'] : 80; 
if(false !== ($fp = fsockopen($tab['host'], $tab['port'], $errno, $errstr, TIMEOUT))) { 
    fclose($fp);
    echo 'Nom toujours disponible';
} else {
    echo ' Nom indisponible';
}
?>
il marche très bien sauf si je met un nom de domaine indisponible j'ai l'erreur :

Code:
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/monsite/public_html/com-heb.php on line 86

Warning: fsockopen() [function.fsockopen]: unable to connect to www.pipofqsdf.com:80 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /home/monsite/public_html/com-heb.php on line 86
Nom indisponible

Merci pour votre aide :(
 
WRInaute accro
=> .htaccess

Code:
php_flag display_errors off

Dans son cas, s'il cherche à fetch sur un domaine qui n'existe pas... il aura de toutes façons une erreur ;)
 
WRInaute accro
L'effet est pratiquement le même, non ?

(et puis qu'est-ce que tu fais debout à cette heure, YoyoS ?)
 
WRInaute accro
Aucune idée ^^ Je croyais que @ servait juste à masquer complètement les warnings que ça soit à l'affichage ou dans les logs. Par contre on se tape les erreurs normales, genre mauvais paramètre etc. Quand le nom de domaine existe mais port 80 bloqué en timeout, je sais pas si c'est un warning mais le socket renvoie false.

http://www.php.net/manual/fr/errorfunc.configuration.php#ini.display-errors
Par contre display_errors off redirige les erreurs dans le fichier log stderr au lieu de les afficher à l'écran stdout.

Donc si tu veux logguer les warnings mais pas les afficher au visiteur -> display_errors off . Si tu veux ni les voir dans tes logs, ni les afficher au visiteur -> @function !

Moi par défaut je ne mets aucun @ quand la fonction n'est pas sensé renvoyer de warnings. Par contre je mets un display_errors off partout histoire de ne rien afficher au visiteur mais de tout logguer, errors + warnings.

(EDIT: bah je m'emmerde :D je suis sensé étudier pour mes exams mais j'vais ratay :( M'y suis pris trop tard)
 
WRInaute accro
YoyoS a dit:
(EDIT: bah je m'emmerde :D je suis sensé étudier pour mes exams mais j'vais ratay :( M'y suis pris trop tard)

On se twitt en septembre si tu cherches un job ? :mrgreen: #mauvaisefoi #salopard
 
WRInaute accro
J'sais pas si je recommence :D J'sais pas ca me saoooouuulll. Indépendant ça serait cool aussi :p Ou bien bosser mes repêches tout juillet -_- Et tenter de réussir ou d'avoir un max de dispenses :lol: :arrow:
 
WRInaute impliqué
En gros les sockets ça fait partit des fonctions "chiantes" du php, ta aussi pour les fichiers. Il faut toujours mettre un @ devant vu que sa foire relativement souvent.
 
Discussions similaires
Haut