Pozdrav,
imam jedan problem sa mojom skriptom. Ova skripta radi 24 sati/365dana la computeru, koji nema web servera. Ima php i kreče se je ovako:
C:\PHP\php.exe -f D:\script\control.php
A control.php izgleda ovako (nije u cjeloti, več samo dio, koji ne radi podpuno):
<?php
function posalji($data)
{
global $passwd;
$data=file_get_contents("izpis44.php");
$ch=curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_URL,"https://mojastranica.com/modules/mod_play/primi44.php" );
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS, "data=".urlencode($data)."&passwd=".urlencode($passwd));
curl_setopt($ch,CURLOPT_RETURNTRANSFER,false);
curl_exec($ch);
curl_close($ch);
}
for ($xyz = 1; ; $xyz++)
{
set_time_limit (0);
$data=file_get_contents("http://localhost:5666/x/query.cgi?q=status");
if(provjeri($data))
{
sahrani($data);
posalji($data); // OVDJE JE PITANJE, KAKO ZAOBICI
echo date("H:i:s, ");
}
sleep (10);
flush();
$data="";
$xyz = 0;
}
?>
A sad moj problem. Sve radi 100%, dok ne pukne web serber na kojem je mojastranica.com i onda link https://mojastranica.com/modules/mod_play/primi44.php nije dostupan.
A sad sta želim:
Želim, da se nekako provjeri ovaj link i ako NIJE dostupan se zaobiče posalji($data);
Kako ovo uraditi, da ne pukne? Jednom kad pukne web server i kad opet radi skripta radi normalno. Drugi put pukne.
Pozdrav,
zasto ti uopce server gdje je stranica "puca" ? To nije uopće normalno, ako je to zbog opterećenja servera (pretpostavljam sharani hosting) onda razmisli o VPS serveru.A sada tvoje pitanje...
Napravi if na funkciju posalji i to je to :)
function UpDownWeb($url){
$agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();
curl_setopt ($ch, CURLOPT_URL,$url );
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch,CURLOPT_VERBOSE,false);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_SSLVERSION,3);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
$page=curl_exec($ch);
//echo curl_error($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpcode>=200 && $httpcode<300) return true;
else return false;
}
if (UpDownWeb("tvojlink"))
echo "OK"."n";
else
echo "DOWN";
Hvala @onebeat.
Sasvim si u pravu. Sharing hosting, max 40 visitors, oni dan pukla internet linija Telekom->hoster, tako da i VPS ne bih radio, a i skup je. Za malo višu cjenu što imam sada (HD neograničen), dobit ču samo 12GB, što je jako malo.
Nema problema, zato smo tu ;D
Promjeni hosting kompaniju, poslao sam ti PM...