Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Gateway Timout!... БЛИН!

18K
10 декабря 2006 года
4ert
13 / / 07.12.2006
Господа, никто случаем незнает как можно(и возможно ли вообще..) в скрипте снять лимит на время выполнения? Короче говоря заставить php скрипт работать ровно столько, сколько ему необходимо.....
Заранее спасибо!
8
10 декабря 2006 года
mfender
3.5K / / 15.06.2005
Он будет работать столько, сколько ему нужно. А лимит в секундах устанавливается функцией set_time_limit(). Главное - 0 не делать, а то если уйдёт в цикл, то не остановишь - только сервант рестартовать.
18K
10 декабря 2006 года
4ert
13 / / 07.12.2006
Не, я конечно не претендую на специалиста в области работы серверов...Но я пишу скрипт, одной из функций которого является проверка доступности прокси.... Ввожу 10 адресов - нормально, ввожу 100 тож ништяк, ввожу 1000 через минут 10 вот это:
http://blood-solaris.ru/BSGen/er.html

Я так понимаю это превышение лимита времени на выполнение скрипта? или я ошибаюсь?...
Так вопрос собственно такой, как бы сделать так, чтобы эт фигня не вылетала, а скрипт отрабатывал бы спокойно хоть 1000 адресов, хоть 10000... сколько бы на это не уходило времени...
8
10 декабря 2006 года
mfender
3.5K / / 15.06.2005
Нет, 504 - это никак ко времени исполнения не относится. Это, скорее всего, нужно проверить доступ (права) сервера к файлу.
18K
10 декабря 2006 года
4ert
13 / / 07.12.2006
Чего-то не вкурю никак....
А чё тогда значит это:
"504 Gateway Timeout (время прохождения через шлюз истекло) - этот ответ похож на 408 (Request Time-out) , за исключением того, что шлюз или уполномоченный сервер превысил лимит времени. "
Прошу сильно не пинать ламер я голимый....
8
10 декабря 2006 года
mfender
3.5K / / 15.06.2005
Ты обратил внимание, что ошибка происходит сразу? Т.е., со временем исполнеия скрипта никак не связано.
13
11 декабря 2006 года
RussianSpy
3.0K / / 04.07.2006
Цитата: mfender
Главное - 0 не делать, а то если уйдёт в цикл, то не остановишь - только сервант рестартовать.



:) kill PID никто не отменял

8
11 декабря 2006 года
mfender
3.5K / / 15.06.2005
Цитата: RussianSpy
:) kill PID никто не отменял


А ты всегда уверен, какой процесс следует убить? У меня их традиционно не меньше семи, поэтому проще всего "мягко" рестартовать.

13
11 декабря 2006 года
RussianSpy
3.0K / / 04.07.2006
Цитата: mfender
А ты всегда уверен, какой процесс следует убить? У меня их традиционно не меньше семи, поэтому проще всего "мягко" рестартовать.



Не все системы можно отправить в ребут, к сожалению. Хотя в случае когда это возможно, конечно ребут намного проще.

8
11 декабря 2006 года
mfender
3.5K / / 15.06.2005
Цитата: RussianSpy
Не все системы можно отправить в ребут, к сожалению. Хотя в случае когда это возможно, конечно ребут намного проще.


Я про UNIX. Пока хостюсь на Free BSD завсегда.

18K
11 декабря 2006 года
4ert
13 / / 07.12.2006
Не, ошибка происходит не сразу...
Короче вот скрипт:
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;
}

так вот, если переменной $ob присвоить значение 100 ну или 200 то всё ништяк, ну как можете убедиться сами адресов там 1178 и минут через десять выскакивает 504-ая.... Так вот в чем вопрос, как бы сделать так чтобы проверка шла до конца и 504 не появлялась бы? вообще возможно ли?...
Подскажите люди знающие, оч. надо, даж не для дела, а для собственного успокоения....
18K
12 декабря 2006 года
4ert
13 / / 07.12.2006
Чё никто не знает чтоли?!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог