Bonjour à tous , j'ai vraiment besoin de votre aide , voilà on m'a demandé d'écrire un script php qui me permettrait depuis la vmware de tester le serveur apache tournant sur une autre machine indépendamment du système d'exploitation que celle-ci utilise (c'est pour éviter d'utiliser la commande netstat par exmple si c'est une machine windows) je fais encore mes débuts avec php donc là franchement je galère Merci
8768 sujets
Développement web côté serveur, CMS
C'est quoi le rapport avec netstat qui ne fonctionnerait pas sur windows? Je t'ai fait un script il n'y a pas si longtemps qui fonctionne sur windows ... netstat fonctionne sur windows, "linux" et mac os, les options et retour ne sont certes pas forcément les mêmes, mais tu n'as qu'a modifier le script en question. Pour vérifier depuis une machine A que apache tourne sur la machine B, tu te connectes en ssh, exécute le script PHP et en fonction du retour tu sais s'il tourne ou non. Plus simple tu fais un appel http depuis A sur B ... J'ai pas vraiment l'impression que tu cherches beaucoup mais que tu attends une soluce clef en main, c'est dommage.
Salut , j'ai du trouver une solution qui fonctionne indépendamment du système d'exploitation que j'utilise donc j'ai utilisé la fonction fsockopen tout en modifiant le fichier httpd.conf d'apache (sur la machine hôte) pour qu'il accepte les connexions depuis la vmware et ça marche , merci pour tes deux réponses , ça m'a été vraiment utile ,je m'excuse si je semblais chercher une solution de facilité , ce n'est pas le cas , j'étais vraiment confuse et j'ai bien signalé que je m'y connais pas du tout .Merci en tout cas
oui c'est exactement ça . fscockopen est en fait une fonction qui Initialise une connexion par socket à la ressource spécifiée par son adresse ip ou son url et le numéro de port pour le transport ,elle retourne un pointeur de fichier qui peut être utilisé avec d'autres fonctions fichiers , dans mon cas j'ai utilisé fcolse (pour fermer le fichier représenté par la ressource fp) et fwrite (pour afficher le contenu de out) voilà le code que j'ai utilisé :
<?php
$host='192.168.232.1'; // c'est l'adresse du vmnet qui permet de connectet la machine virtuelle à l'hote , c'est une connexion de type NAT
$fp = fsockopen("$host", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
echo "Server Down" ;
}
else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n\r\n";
echo "Server Up : " ;
fwrite($fp, $out);
while (!feof($fp))
{ echo fgets($fp, 128); }
fclose($fp); }
?>
Voilà j'éspère que ça peut aider
Modifié par kiwilicious (16 Feb 2014 - 20:56)
<?php
$host='192.168.232.1'; // c'est l'adresse du vmnet qui permet de connectet la machine virtuelle à l'hote , c'est une connexion de type NAT
$fp = fsockopen("$host", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
echo "Server Down" ;
}
else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n\r\n";
echo "Server Up : " ;
fwrite($fp, $out);
while (!feof($fp))
{ echo fgets($fp, 128); }
fclose($fp); }
?>
Voilà j'éspère que ça peut aider
Modifié par kiwilicious (16 Feb 2014 - 20:56)
ok du coup je pense que tu t'es un peu compliqué la vie, tu pouvais utiliser file_get_contents.