0

これが私のコードです:

$fp = fsockopen("74.63.172.37", 22, $errno, $errstr, 50);

if (!$fp) {

    echo "not connected";

} else {

    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: 74.63.172.37\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    $val = "";
    if (!feof($fp)) {
        echo "<br/>".fgets($fp, 128);
    }

    if (feof($fp)) {
        echo "<br/>Not connected";
    } else {
      echo "<br/>Connected";
    }

    fclose($fp);

    die();
}

ローカルサーバーでは、出力が得られます:

trying to connect
SSH-2.0-1.82_sshlib GlobalSCAPE
Connected

サーバー上では出力が得られます:

trying to connect
Not connected

サーバーとローカルの両方から接続できる別のsftpサーバーがあります。問題は何ですか?

4

3 に答える 3

2

ISPによって有効にされていないか、ポートがブロックされています。サービスデスクに連絡することをお勧めします。

于 2012-05-25T23:52:54.103 に答える
2

私が考えることができる2つのオプション:

宛先サーバーは特定の IP アドレスからの接続のみを受け入れ、Web サーバーはその上にありません。

Web サーバーの Open SSL のバージョンに互換性がないため、接続に使用される暗号が一致しません。または、プロトコル 1 にフォールバックしようとしていますが、宛先サーバーはプロトコル 2 (最新) のみを許可するように構成されています。

そのため、宛先サーバーにファイアウォール制限があるかどうかを確認し、openssl が最新であり、Web サーバーで暗号がすべて利用可能であることを確認してください。

于 2012-05-26T00:28:44.227 に答える
1

ありがとう、私は解決策を見つけました。宛先ホストがサーバー IP アドレスをブロックしました。

于 2012-06-01T06:50:31.417 に答える