Помогите поправить 2 php функции

Статус
В этой теме нельзя размещать новые ответы.

shamantc

ЗлОй ШаМан
Заблокирован
Регистрация
3 Ноя 2008
Сообщения
651
Реакции
188
  • Автор темы
  • Заблокирован
  • #1
Здравствуйте вот такая ситуация, имеется 2 функции в одной из них ошибка (лог ошибок чистый, но мне раз уже правили этот код здесь что то с циклами в функции daemon мне тогда закомментировали пару строк и все работало)
PHP:
  function daemon ($a, $param = '', $post = 0)
  {
    global $CRoom;
    global $Cookie;
    $try = 5;
    while (true)
    {
      $s = @fsockopen ('127.0.0.1', CHAT_PORT, $e, $e, 2);
      if (!($s))
      {
        if (--$try == 0)
        {
          return false;
        }

        continue;
      }
    }

    list ($ip, $proxy) = getip ();
    if (is_array ($Cookie))
    {
      foreach ($Cookie as $Var => $Val)
      {
        $cv .= $Var . '=' . urlencode ($Val) . '; ';
      }
    }

    $h = 'Cookie: ' . $cv;
    $param = 'a=' . $a . '&&r=' . $CRoom . '&ip=' . $ip . '&proxy=' . $proxy . '&d=1248421&' . $param;
    if ($post)
    {
      fwrite ($s, 'POST /august HTTP/1.0
Content-Length: ' . strlen ($param) . ('
' . $h . '

' . $param . '
'));
    }
    else
    {
      fwrite ($s, 'GET /august?' . $param . ' HTTP/1.0
' . $h . '

');
    }

    while (!(feof ($s)))
    {
      $r .= fread ($s, 8192);
    }

    fclose ($s);
    return $r;
  }

  function config ()
  {
    $Args = func_get_args ();
    $Args = implode (' ', $Args);
    $try = 3;
    while ($try--)
    {
      $d = daemon (35, 'args=' . $Args);
      if ($d)
      {
        if ($r = unserialize ($d))
        {
          return $r;
        }
      }

      sleep (1);
    }

    exit ('<hr>Ошибка загрузки конфигурации');
  }
Помогите подправить :thenks:
 
как минимум заменить

PHP:
while (true)

на
PHP:
while (!$s)

или получается что цикл выполнится 5 раз и закончится выходом из процедуры, без дальнейшей обработки данных
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху