【问题标题】:php send file to sftpphp发送文件到sftp
【发布时间】:2013-05-19 12:07:24
【问题描述】:

我正在尝试使用 SFTP 发送文件,但在尝试上传文件时出现错误。 远程文件夹的权限没问题。

$connection = ssh2_connect('10.0.10.245', 22);
ssh2_auth_password($connection, $ftp_user_name, $ftp_user_pass);
$sftp = ssh2_sftp($connection);
echo '<br>';
ssh2_scp_send($connection,$file,"/a.xml", 0644);
print_r(error_get_last());

我得到的错误是:

Array 
( 
    [type] => 2 
    [message] => ssh2_scp_send(): Failure creating remote file 
    [file] => /var/www/FP1/sendFTP.php 
    [line] => 93 
 ) 

有什么建议吗?

【问题讨论】:

  • 你能告诉我们远程文件夹的权限吗? $ftp_user_name 是文件夹的所有者吗?

标签: php upload sftp


【解决方案1】:

您启动 SFTP 会话 (ssh2_sftp),稍后使用 SCP 进行实际传输 (ssh2_scp_send)。您绝对不需要ssh2_sftp 行;它实际上可能是您的问题的原因。

虽然技术上可以通过一个 SSH 连接同时进行 SFTP 和 SCP 会话,但我不希望 PHP 支持这一点。虽然我不确定。

【讨论】:

  • 太棒了!经过3天的努力,我遇到了你的答案并解决了这个问题:)
【解决方案2】:

你确定没有权限问题?

"/a.xml" 表示你把文件放在根目录/ 下,一般不会对你的ftp 用户有写权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多