【问题标题】:ssh2_scp_send file is not copied, no errorsssh2_scp_send 文件没有被复制,没有错误
【发布时间】:2019-12-04 12:51:31
【问题描述】:

虽然连接正常 ssh2_scp_send 没有复制文件 (pdf)。

为了检查连接,我检查了源文件是否存在,并且我也测试并成功使用了:
- ssh2_sftp_mkdir
- ssh2_scp_recv

这是我的 php 代码:

$my_sftp = parse_ini_file(config/sftp.ini.php');
$open_file = fopen($contract_pdf_path.$contract_pdf_name, 'r');

$destination = $my_sftp['sftp_root_to_dir'].'auftrag/'.$contract_pdf_name;              
$connection = ssh2_connect($my_sftp['sftp_host'], $my_sftp['sftp_port']);
            ssh2_auth_password($connection,$my_sftp['sftp_user'], $my_sftp['sftp_password']);

$sftp = ssh2_sftp($connection);

$result = ssh2_scp_send($connection, $contract_pdf_path.$contract_pdf_name, $destination, 0644);

我检查了 $result 并得到了 1,如前所述,我用其他函数测试成功。

有人知道吗?

【问题讨论】:

    标签: php send scp ssh2


    【解决方案1】:

    它可能关注(或感兴趣)的人:
    在另一个论坛上得到了一些提示:

    $my_sftp = parse_ini_file('config/sftp.ini.php');
    $destination = $my_sftp['sftp_root_to_dir'] . 'auftrag/' . $contract_pdf_name;
    $connection = ssh2_connect($my_sftp['sftp_host'], $my_sftp['sftp_port']);
    ssh2_auth_password($connection, $my_sftp['sftp_user'], $my_sftp['sftp_password']);
    $sftp = ssh2_sftp($connection);
    $sftpStream = fopen('ssh2.sftp://'.intval($sftp).$destination, 'w');
    fwrite($sftpStream,file_get_contents(realpath( $contract_pdf_path.$contract_pdf_name)));
    fclose($sftpStream);
    

    而这个工作:-)

    【讨论】:

      猜你喜欢
      • 2012-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多