将文件服务器传输到服务器

时间:2012-07-01 02:18:11

标签: php file shell file-transfer

我需要将一个帐户转移到另一台服务器。最大的问题是:一个有Cpanel(好!)和其他有自定义品牌面板(坏=()。所以,我想:如何用PHP传输?(怎么样?不知道)

我知道服务器支持exec,我有Jailsshell(SSH),但是,wget被禁用了。不知道别人的限制。想法?

我试过这个:

function ftp($host, $username, $password, $local, $remote) {
    $execTime = 7000;
    ini_set('max_execution_time', $execTime);
    set_time_limit($execTime);

    $c = ftp_connect($host);
    ftp_set_option($c, FTP_TIMEOUT_SEC, $execTime);
    ftp_login($c, $username, $password) or die("Can't login");

    ftp_get($c, $local, $remote, FTP_ASCII);

    ftp_close($c) or die("Can't close");
}

但请求超时..

2 个答案:

答案 0 :(得分:0)

你能从exec访问scp吗?它允许将文件结构从一个主机复制到另一个主机。

答案 1 :(得分:0)

首先,我将通过ssh或telnet登录到具有该网站的服务器。以下是我要输入的命令:

cd /home/somepath/to/yourwebsite/public_html 
tar -cvf sitepack.tar ./ 

一旦完成,我会转到你的新服务器并通过telnet和ssh登录。我在这里输入:

cd /home/somepath/to/yourwebsite/public_html 
wget yourdomain.com/sitepack.tar 
tar -xvf sitepack.tar 

此时我会检查以确保您刚刚解压缩的文件中包含正确的所有者和群组。您可以通过输入以下内容来查看它们的内容:

ls -la 

如果所有者或群组错误,您可以输入此内容来修复所有文件:

chown -R owner.group ./ 

owner.group应替换为您想要的所有者名称和所需的组名称。这将以递归方式遍历所有文件和目录,并将其更改为正确的所有者和组。