[Проблемка] Php + sockets

Discussion in 'PHP' started by ex3me, 26 Mar 2009.

  1. ex3me

    ex3me Member

    Joined:
    7 Jan 2009
    Messages:
    0
    Likes Received:
    63
    Reputations:
    0
    Имеется такой код:

    PHP:
    <?php

    @set_time_limit (0);

    $total 0;

    $file1 "log.txt"

    $f1 fopen($file1,'r');

    $str_array = array();

    $tokens "|"

    while(
    $str=fgets($f1,1024)) {

    $tokenized strtok($str$tokens);
    $tokenized strtok($tokens);
    $str_array[] =  trim($tokenized);

    }

    $str_array array_unique($str_array);

    echo 
    "<pre>";

    foreach (
    $str_array as $item) {


    echo 
    scan($item) . " " $item  "\r\n";

    $total++;

    }
        
    echo 
    "</pre>";
    echo 
    "Total: " $total;

    function 
    scan ($hs)

    {

    $port 445;
    $time_conn 2;

    $connect = @fsockopen ($hs$port$errno$errstr$time_conn);

    if (
    $connect == TRUE) {

    return 
    "<font color='green'>[valid]</font>";

    }

    else if (
    $connect == 0) {

    return 
    "<font color='red'>[invalid]</font>";

    }

    }

    ?>
    Занимается парсингом логов вида
    с последующим чеком порта 445 (валид/невалид)

    На локалхосте все норм. На хосте (не фри) выдает 502 bad gateway

    Может что не так делаю =\ И предложите как оптимизировать данный код (мб парсинг по-другому сделать или еще что-то)
     
    1 person likes this.
  2. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    2,007
    Likes Received:
    996
    Reputations:
    155
    ex3me, хостеру пиши а не нам. У меня все работает отлично на хосте/локалхосте.
     
  3. ex3me

    ex3me Member

    Joined:
    7 Jan 2009
    Messages:
    0
    Likes Received:
    63
    Reputations:
    0
    mailbrush, oO тебя разбанили? ))))))))

    А если по теме: просто интересно почитать советы знающих людей. я нуб в пхп =)
     
  4. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    вот и всё. Проблемы на стороне сервера, если у тебя с интернетом всё в порядке

    И потом у тебя там даже паузы нет - шквальная проверка локально и на серваке - немножко разные вещи. Попробуй не for each, а хотя бы один оттестить, также лучше вписать в начало скрипта:

    @set_time_limit(0);
    @ini_set("display_errors","1");

    т.к. хз, может на этом сервере отключены сокеты, а ты этого можешь не увидеть из-за, допустим, отключенных ошибок

    Плюс у хостера может стоять фаер, который рубит все запросы такого вида, специально
     
    #4 Pashkela, 26 Mar 2009
    Last edited: 26 Mar 2009
  5. ex3me

    ex3me Member

    Joined:
    7 Jan 2009
    Messages:
    0
    Likes Received:
    63
    Reputations:
    0
    Pashkela, проверил сокеты включены. Проблема дейстивительно в том, что хостер блочит запросы =\
     
Loading...