php - 无法使用 ssh2_scp_recv 和 ssh2_scp_send 发送或接收文件

标签 php security ftp ssh file-transfer

不确定出了什么问题,但我无法使用 SSH 发送或接收文件。

我正在使用以下代码

define('SSH_HOST', 'HOST');
define('SSH_USER', 'USER');
define('SSH_PASS', 'PASSWORD');
$connection = ssh2_connect(SSH_HOST, 22);
ssh2_auth_password($connection, SSH_USER, SSH_PASS); 

$remoteFile = '/remote/absolute/path/file.ext';
$localFile = '/local/absolute/path/file.ext';

if(ssh2_scp_recv($connection, $remoteFile, $localFile)){
    echo("received");
}else{
    echo("NOT received");
}

这个函数和 file_get_contents 函数都不起作用。 奇怪的是,我可以通过调用

来获取文件统计信息
$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_stat($sftp, $remoteFile);

但无法读取文件数据。

我必须在任一服务器上设置一些特殊权限吗?

最佳答案

SCP 和 SFTP 是不同的东西。可能您的服务器上禁用了 SCP。

关于php - 无法使用 ssh2_scp_recv 和 ssh2_scp_send 发送或接收文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7852974/

相关文章:

java - 为什么我的 InputStream 在 Android 中无法工作?

javascript - 如何使用javascript上传文件到FTP服务器?

PowerShell FTP 上传

php - 属性之间没有空格错误

PHP 将错误/异常处理程序重置回 native ?

oracle - 带有 Oracle 厚 OCI 驱动程序的 Grails 使用错误的用户向 Oracle 进行身份验证

JavaScript、node.js 和安全性

security - 白帽程序员的黑帽知识

php - 无法解析变量 Volley

带有 MySQL 的 PHP 仅对表的第一行返回正确的结果