【问题标题】:Transfer files server to server将文件服务器传输到服务器
【发布时间】:2012-07-01 11:44:15
【问题描述】:

我需要将一个帐户转移到另一台服务器。最大的问题是:一个有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");
}

但是获取请求超时..

【问题讨论】:

  • 您是否想过压缩所有内容,并使用 file_get_contents() 和 file_put_contents() 创建一个 php 文件?
  • @HamZaDzCyber​​DeV 不起作用。请参阅我更新的问题。
  • 在你的代码顶部试试这个:ini_set('max_execution_time', 0);

标签: php file shell file-transfer


【解决方案1】:

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

【讨论】:

  • 如果您在至少其中一台主机上拥有 ssh 访问权限,而另一台拥有 scp 访问权限,则您可以推送或拉取数据。一个文件最简单,所以如果你可以先把它压缩起来,那就更容易了。 scp [[user@]host1:]file1 [[user@]host2:]file2 这就是你基本使用它的方式
【解决方案2】:

首先我会通过 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 应替换为您想要的所有者名称和您想要的组名称。这将递归地遍历您的所有文件和目录,并将它们更改为正确的所有者和组。

【讨论】:

  • 在新盒子上?...然后只需通过 ftp 下载 tar 文件并将其上传到新服务器并执行 tar -xvf sitepack.tar
  • 我只想要服务器 -> 服务器连接
猜你喜欢
  • 2011-02-04
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-06
相关资源
最近更新 更多