Gateway Timout!... БЛИН!
Заранее спасибо!
Он будет работать столько, сколько ему нужно. А лимит в секундах устанавливается функцией set_time_limit(). Главное - 0 не делать, а то если уйдёт в цикл, то не остановишь - только сервант рестартовать.
http://blood-solaris.ru/BSGen/er.html
Я так понимаю это превышение лимита времени на выполнение скрипта? или я ошибаюсь?...
Так вопрос собственно такой, как бы сделать так, чтобы эт фигня не вылетала, а скрипт отрабатывал бы спокойно хоть 1000 адресов, хоть 10000... сколько бы на это не уходило времени...
Нет, 504 - это никак ко времени исполнения не относится. Это, скорее всего, нужно проверить доступ (права) сервера к файлу.
А чё тогда значит это:
"504 Gateway Timeout (время прохождения через шлюз истекло) - этот ответ похож на 408 (Request Time-out) , за исключением того, что шлюз или уполномоченный сервер превысил лимит времени. "
Прошу сильно не пинать ламер я голимый....
Ты обратил внимание, что ошибка происходит сразу? Т.е., со временем исполнеия скрипта никак не связано.
Цитата: mfender
Главное - 0 не делать, а то если уйдёт в цикл, то не остановишь - только сервант рестартовать.
:) kill PID никто не отменял
Цитата: RussianSpy
:) kill PID никто не отменял
А ты всегда уверен, какой процесс следует убить? У меня их традиционно не меньше семи, поэтому проще всего "мягко" рестартовать.
Цитата: mfender
А ты всегда уверен, какой процесс следует убить? У меня их традиционно не меньше семи, поэтому проще всего "мягко" рестартовать.
Не все системы можно отправить в ребут, к сожалению. Хотя в случае когда это возможно, конечно ребут намного проще.
Цитата: RussianSpy
Не все системы можно отправить в ребут, к сожалению. Хотя в случае когда это возможно, конечно ребут намного проще.
Я про UNIX. Пока хостюсь на Free BSD завсегда.
Короче вот скрипт:
http://blood-solaris.ru/BSGen/BSGen.php?act=proxy
На странице "proxy" есть кнопка проверить, там работает функция:
Код:
function CheckProxy($z)
{
if($z=='proxy')
{
$name='proxys';
$sub='RemoveProxy';
}
if($z=='socks')
{
$name='socks';
$sub='RemoveSocks';
}
$file=fopen($name,'r');
$ta="
<form action='BSGen.php' method='post'>
<input type='hidden' name='act' value='$sub'>
<input type='hidden' name='ProxysError' value='ERRORS'>
<input type='submit' class='button' value='Удалить недоступные'>
</form>
<table width='100%'>
<tr><th class='checkl'>HOST<th class='checkr'>STATUS
TEXT
</table>";
if(filesize($name)>15)
{
set_time_limit(0);
$prs=fread($file,filesize($name));
fclose($file);
$ar=explode("\r",$prs);
$ob=sizeof($ar);
$n=0;
while($n<$ob)
{
$t1=strpos($ar[$n],":",0);
$host=substr($ar[$n],0,$t1);
if($z=='proxy')
{
$port=substr($ar[$n],$t1+1,100);
}
if($z=='socks')
{
$zs=strpos($ar[$n],"#",0);
$port=substr($ar[$n],$t1+1,$zs-$t1-1);
}
$fp = fsockopen($host, $port, &$errno, &$errstr, 1);
if(!$fp)
{
$st="<font color='red'><b>ERROR</b></font>";
$er_str=$er_str.$ar[$n].";";
}
else
{
$st="<font color='green'><b>OK!</b></font>";
}
fclose($fp);
$str=$str."<tr><td>$ar[$n]<td class='checkr'>$st";
$n++;
}
$ta=str_replace('ERRORS',$er_str,$ta);
$res=str_replace('TEXT',$str,$ta);
}
else
{
$res='Вы не закачали прокси!';
fclose($file);
}
return $res;
}
{
if($z=='proxy')
{
$name='proxys';
$sub='RemoveProxy';
}
if($z=='socks')
{
$name='socks';
$sub='RemoveSocks';
}
$file=fopen($name,'r');
$ta="
<form action='BSGen.php' method='post'>
<input type='hidden' name='act' value='$sub'>
<input type='hidden' name='ProxysError' value='ERRORS'>
<input type='submit' class='button' value='Удалить недоступные'>
</form>
<table width='100%'>
<tr><th class='checkl'>HOST<th class='checkr'>STATUS
TEXT
</table>";
if(filesize($name)>15)
{
set_time_limit(0);
$prs=fread($file,filesize($name));
fclose($file);
$ar=explode("\r",$prs);
$ob=sizeof($ar);
$n=0;
while($n<$ob)
{
$t1=strpos($ar[$n],":",0);
$host=substr($ar[$n],0,$t1);
if($z=='proxy')
{
$port=substr($ar[$n],$t1+1,100);
}
if($z=='socks')
{
$zs=strpos($ar[$n],"#",0);
$port=substr($ar[$n],$t1+1,$zs-$t1-1);
}
$fp = fsockopen($host, $port, &$errno, &$errstr, 1);
if(!$fp)
{
$st="<font color='red'><b>ERROR</b></font>";
$er_str=$er_str.$ar[$n].";";
}
else
{
$st="<font color='green'><b>OK!</b></font>";
}
fclose($fp);
$str=$str."<tr><td>$ar[$n]<td class='checkr'>$st";
$n++;
}
$ta=str_replace('ERRORS',$er_str,$ta);
$res=str_replace('TEXT',$str,$ta);
}
else
{
$res='Вы не закачали прокси!';
fclose($file);
}
return $res;
}
так вот, если переменной $ob присвоить значение 100 ну или 200 то всё ништяк, ну как можете убедиться сами адресов там 1178 и минут через десять выскакивает 504-ая.... Так вот в чем вопрос, как бы сделать так чтобы проверка шла до конца и 504 не появлялась бы? вообще возможно ли?...
Подскажите люди знающие, оч. надо, даж не для дела, а для собственного успокоения....
Чё никто не знает чтоли?!