3

我正在尝试使用 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 
 ) 

有什么建议吗?

4

2 回答 2

4

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

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

于 2013-05-19T12:28:09.377 回答
1

你确定没有权限问题?

"/a.xml"意味着您将文件放在根目录下/,通常不会对您的 ftp 用户具有写权限。

于 2013-05-19T12:14:37.010 回答