Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [Проблемка] Php + sockets (https://forum.antichat.xyz/showthread.php?t=113138)

ex3me 26.03.2009 18:20

[Проблемка] Php + sockets
 
Имеется такой код:

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>";

}

}

?>

Занимается парсингом логов вида
Цитата:

23.03.09 : 17:14:10 | 92.63.241.73 | 92.63.241.73 | 92.63.241.73 |
с последующим чеком порта 445 (валид/невалид)

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

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

mailbrush 26.03.2009 18:34

ex3me, хостеру пиши а не нам. У меня все работает отлично на хосте/локалхосте.

ex3me 26.03.2009 19:37

mailbrush, oO тебя разбанили? ))))))))

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

Pashkela 26.03.2009 20:17

Цитата:

502 Bad Gateway. Пользователь при этом не имеет возможности просмотра ресурсов выбранного Web-сайта. Обычно такое сообщение является следствием проблем, касающихся работы прокси-сервера, DNS-сервера или хостинг-сервера, где непосредственно размещается Web-сайт, который запрашивает пользователь.
вот и всё. Проблемы на стороне сервера, если у тебя с интернетом всё в порядке

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

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

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

Плюс у хостера может стоять фаер, который рубит все запросы такого вида, специально

ex3me 26.03.2009 21:24

Pashkela, проверил сокеты включены. Проблема дейстивительно в том, что хостер блочит запросы =\


Время: 05:45