fsockopen, не могу войти! Время соединения вышло - PullRequest
0 голосов
/ 12 сентября 2011

Простите за мой ужасный каламбур.

По сути, дело в том, что хост - это сука. Простой fsockopen скрипт, независимо от того, какой порт, сервер или что-либо еще, будет подключен Попытка получить помощь сервера от веб-хостинга (из-за неудачных обстоятельств у меня нет возможности сменить хост) оказалась неэффективной ... куча дебилов. Простой phpinfo() показывает, однако, что allow_url_fopen равен на , а Registered Stream Socket Transports позволяет мне tcp, udp, unix, udg, ssl, sslv3, sslv2, tls.

Итак, что мне не хватает? Звучит так, будто хост незаметно блокирует сокетные соединения? Я имею в виду, даже порт 80 не работает:

Warning: fsockopen() [function.fsockopen]: unable to connect to www.google.com:80 (Connection timed out)

1 Ответ

5 голосов
/ 12 сентября 2011

Если вы правильно набираете fsockopen (код не отображается), эта ошибка подразумевает, что да, они ограничивают вас от исходящих соединений.

$fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
}

Если у вас есть доступ к оболочке, попробуйте использовать telnet, и вы должны увидеть тот же результат:

telnet www.google.com 80
...