我已尝试过几乎所有内容,但无法使用ftp_connect
建立连接。没有错误信息,所以我不知道在哪里看。它只是超时。
以下是代码:
<?php
$remote_file = 'file.txt';
$ftp_host = '1.1.1.1';
$ftp_user_name = 'root@1.1.1.1';
$ftp_user_pass = 'password';
$local_file = 'file.txt';
$connect_it = ftp_connect($ftp_host) or die("Could not connect");
$login_result = ftp_login($connect_it, $ftp_user_name, $ftp_user_pass);
if ( ftp_put( $connect_it, $remote_file, $local_file, FTP_BINARY ) ) {
echo "WOOT! Successfully transfer $local_file\n";
}
else {
echo "Doh! There was a problem\n";
}
ftp_close( $connect_it );
?>
两台服务器都是我的,所以我知道它们都在运行。服务器正在尝试连接,除非我设置超时,它只是继续前进和继续,但没有建立连接。我试图做的就是将一个文本文件从一个VPS传输到另一个VPS。
答案 0 :(得分:0)
如果你的连接只是没有错误就超时,这意味着在一台服务器或另一台服务器上没有打开一个端口。
以下是您可以尝试的内容:
可能会打开错误报告:
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);
检查两台服务器上您打算使用的端口是否已打开
$ netstat -a|grep ftp
tcp 0 0 *:ftp *:* LISTEN
(这里你尝试使用默认值&#34; 21&#34;)
检查您是否能够远程登录
telnet <host> <port>
然后尝试最小的ftp连接
$ftp_host='1.1.1.1';
$ftp_user_name = 'root'; // I think in your case you should not add '@1.1.1.1'...
$ftp_user_pass = 'password';
$conn_id = ftp_connect($ftp_host) or die("Couldn't connect to $ftp_host");
// Then chdir to a directory:
ftp_chdir($conn_id, "/your/dir");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);