Hallo allemaal,

Hopelijk kan en wil iemand mij opweg helpen.

Ik zou graag een script willen, die mijn subdomein check of hij on of off line is.

Ik heb aantal subdomeinen, en zou op één pagina willen /kunnen zien of ze online zijn.

Ik kom wel wat scripts tegen, maar krijg niets te zien. Bijvoorbeeld :


<?PHP 
$ts_ip = "http://travel.jrstudios.nl"; // Change to your server's IP external or domain name
$ts_port = "80"; // Make sure this port is open on the router or firewall

$output = @fsockopen("$ts_ip", $ts_port, $errno, $errstr, 2);
socket_set_timeout($output, 000002); 

if (!$output) { 
    echo "<FONT COLOR=#DD0000><B>OFFLINE</B></FONT>"; 
} else { 
    echo "<FONT COLOR=#00DD00><B>ONLINE</B></FONT>"; 
} 
@fclose($output); 
?>


Maar op www.jrstudios.nl/check/ is niets te zien.
Haal de @'jes eens weg? Je wilt immers geen foutmeldingen onderdrukken die wel eens van belang kunnen zijn.
Wie weet wordt de controle wel verhinderd in je firewall.

Dus begin eerst eens daaraan.
FONTCOLOR is niet eens goed geschreven, en is tevens niet meer van deze tijd.
Opmaak regelen we nu met CSS.
echo $errno en $errstr eens.
Ik ga verder puzzelen. Bedankt.
Mogelijk moet je de quotes weghalen op regel 3. De functie fsockopen() wil een integer als 2e argument maar je geeft een string (door de quotes).
Inderdaad, ze vragen ook een hostname, en geen protocol. Dus haal die http:// eens weg.
Heb de tips volgens mij nu opgevolgd en heb nu:



<?PHP 
$ts_ip = "travel.jrstudios.nl"; // Change to your server's IP external or domain name
$ts_port = 80; // Make sure this port is open on the router or firewall

$output = fsockopen("$ts_ip", $ts_port, $errno, $errstr, 2);
socket_set_timeout($output, 000002); 

if (!$output) { 
    echo "<B>OFFLINE</B></FONT>"; 
} else { 
    echo "<B>ONLINE</B></FONT>"; 
} 

fclose($output); 
?>


Maar krijg geen respons.
Haal regel 6 eens weg, misschien werkt het dan.
Regel 14 is ook niet nodig volgens mij.
Als ik het script uitvoer krijg ik ONLINE te zien.
Is het niet zo dat je script toch niet werkt vanwege bijv. een firewall issue en het feit dat foutmeldingen uit staan?

Zit dit eens bovenaan neer:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>


Zie je dan wel een foutmelding?

Reageren