错误110连接超时使用试图通过SFTP上传phpseclib

问题描述:

我是一个新手在这里,但我会尽力描述我的问题尽我所能。错误110连接超时使用试图通过SFTP上传phpseclib

基本上,我一直在试图触发屏幕截图文件的自动SFTP上传,只要有人在我客户的网站上完成订单。这是审查已完成的应用程序。我使用phpseclib作为上传文件的主要方式。不幸的是,每当我将它连接到其他主机服务器时,我都会收到超时错误。如果我将它指向自己的服务器,则上传工作。因此,当我们通过sftp将文件上传到自己的服务器时,下面的代码都可以正常工作。如果它是一个不同的,它会超时。下面是php。请注意,我将文件上传交换到仅用于测试的txt文件的创建,相同的结果仍然超时。

ini_set('include_path', '/usr/local/lib/custom_php/phpseclib'); 
include('Net/SSH2.php'); 
include('Net/SFTP.php'); 
define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX); 



$username = "user"; 
$password = "password"; 
$host  = "ftp.the3rdpartyserver.com"; 



$sftp  = new Net_SFTP($host); 
$sftp->setTimeout(1000); 
$sftp->fsock = 1000; 
if (!$sftp->login($username, $password)) { 
    exit('login failed again'); 
}; 

//$sftp->put($remote_file, $local_file, NET_SFTP_LOCAL_FILE); 
//$sftp->put($remote_file, "imagetemp.png", NET_SFTP_LOCAL_FILE); 
$sftp->put('filename.txt', "xxx"); 

print_r($sftp->getSFTPErrors()); 
echo $sftp->getSFTPLog(); 

,我得到的是错误:

Error 110. Connection timed out in <b>/usr/local/lib/custom_php/phpseclib/Net/SSH2.php</b> on line <b>966</b><br /> login failed again<br /> <b>Notice</b>: Connection closed prematurely in <b>/usr/local/lib/custom_php/phpseclib/Net/SSH2.php</b> on line <b>3143</b><br /> <br /> <b>Warning</b>: fclose() expects parameter 1 to be resource, boolean given in <b>/usr/local/lib/custom_php/phpseclib/Net/SSH2.php</b> on line <b>3379</b><br /> 

在我们的测试中,他们告诉我,他们已经调整了超时时间了,但这个仍是结果。我也为sftp测试了不同的账户,并且我有相同的结果。我也试过,如果我可以设置超时时间,但没有效果。任何帮助将不胜感激。非常感谢你! :)

这是用的fsockopen一个问题:

http://support.hostgator.com/articles/how-to-enable-fsockopen

也许防火墙/ iptables的需要在机器上进行更新你想上传数据。

+0

谢谢!我会检查这一点,并报告是否解决问题。 – 2014-11-03 05:39:18

+1

你好。以防万一有人遇到同样的问题。是的,这基本上是机器上传的问题,而不是代码本身。 谢谢诺贝尔。 – 2014-12-09 08:46:51