Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何调试ssh2\u sftp\u重命名?_Php_Rename_Sftp - Fatal编程技术网

Php 如何调试ssh2\u sftp\u重命名?

Php 如何调试ssh2\u sftp\u重命名?,php,rename,sftp,Php,Rename,Sftp,我在ssh2\u sftp\u重命名方面遇到了问题,或者通常在ssh2/sftp包装器方面遇到了问题 我们有两台SFTP服务器。一个是我们自己设置的测试服务器,另一个来自服务提供商。在测试服务器上,一切正常,而在提供的SFTP上,我们无法通过PHP重命名文件。通过sftp cli手动重命名效果良好。我们的SFTP服务器使用协议版本2.0和远程软件版本OpenSSH_6.0p1 Debian-4,而另一个使用协议版本2.0,远程软件版本OpenSSH_5.3。所以我想他们也应该这样做 下面是用于测

我在ssh2\u sftp\u重命名方面遇到了问题,或者通常在ssh2/sftp包装器方面遇到了问题

我们有两台SFTP服务器。一个是我们自己设置的测试服务器,另一个来自服务提供商。在测试服务器上,一切正常,而在提供的SFTP上,我们无法通过PHP重命名文件。通过sftp cli手动重命名效果良好。我们的SFTP服务器使用协议版本2.0和远程软件版本OpenSSH_6.0p1 Debian-4,而另一个使用协议版本2.0,远程软件版本OpenSSH_5.3。所以我想他们也应该这样做

下面是用于测试的最小代码段,它不起作用:

<?php
$connection = ssh2_connect('sftp.serviceprovider.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$result = ssh2_sftp_rename($sftp, '/new/foo.xml.gz', '/processed/foo.xml.gz');

var_dump($result);
var_dump(error_get_last());

诊断libssh2的问题几乎是不可能的。我的建议是:使用。例如


我想不是看到日志,而是权限问题,但日志肯定会告诉我们

<?php
include('Net/SFTP.php');
include('Crypt/RSA.php');

define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX);

$sftp = new Net_SFTP('www.domain.tld');
if (!$sftp->login('username', 'password')) {
    exit('Login Failed');
}

$sftp->rename('filename.remote', 'newname.remote');

echo $sftp->getSFTPLog();
?>