繁体   English   中英

PHP中的fsockopen在服务器上不起作用

[英]fsockopen in php not working on server

这是我的代码:

$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服务器,可以在其中从服务器和本地连接。 可能是什么问题?

您的ISP未启用它,或者端口被阻止。 我建议您与服务台联系。

我可以想到两个选择:

目标服务器将仅接受来自特定IP地址的连接,而您的Web服务器不在该服务器上。

您的网络服务器上的Open SSL版本不兼容,因此无法商定用于连接的密码。 或尝试回退到协议1,但将目标服务器配置为仅允许协议2(最新)。

因此-检查目标服务器上是否有防火墙限制,并检查openssl是否为最新,并且密码在Web服务器上均可用。

谢谢,我找到了解决方案。 目标主机已阻止我的服务器IP地址。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM