Я новичок здесь, но я постараюсь описать свою проблему как можно лучше.
По сути, я пытался запустить автоматическую загрузку файла снимка экрана по SFTP всякий раз, когда кто-то завершает заказ на сайте моего клиента. Это для обзора приложения, которое было сделано. Я использую phpseclib в качестве основного способа загрузки файла. К сожалению, я получаю сообщение об ошибке тайм-аута всякий раз, когда подключаю его к другому хост-серверу. Если я укажу на его собственный сервер, загрузка будет работать. Так что все из кода ниже работает, когда мы загружаем файлы через sftp на свой собственный сервер. Если это другой, время ожидания истекает. Пхп ниже. Обратите внимание, что я поменял загрузку файла на создание текстового файла для тестирования, те же результаты, но тайм-аут все еще истек.
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, и у меня тот же результат. Я также пробовал, могу ли я установить тайм-ауты на более длительное время, но безрезультатно. Любая помощь будет оценена. Большое спасибо! :)