ssh2_scp_send 文件没有被复制,没有错误
Posted
技术标签:
【中文标题】ssh2_scp_send 文件没有被复制,没有错误【英文标题】:ssh2_scp_send file is not copied, no errors 【发布时间】: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,如前所述,我用其他函数测试成功。
有人知道吗?
【问题讨论】:
【参考方案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);
而这个工作:-)
【讨论】:
以上是关于ssh2_scp_send 文件没有被复制,没有错误的主要内容,如果未能解决你的问题,请参考以下文章