Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.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的SCP-不起作用_Php_Linux_Debian_Sftp_Scp - Fatal编程技术网

带有PHP的SCP-不起作用

带有PHP的SCP-不起作用,php,linux,debian,sftp,scp,Php,Linux,Debian,Sftp,Scp,尝试使用PHP将文件上载到其他服务器。它成功地连接了ssh\u connect(),但是当我包含ssh2\u scp\u send时,显示的页面是空白的(好像有语法错误),并且它肯定没有上传文件。知道为什么会这样吗?我更喜欢使用PHP,但如果它不起作用,我想我可以使用私钥文件对CLIscp进行系统调用,但我不喜欢这样做。欢迎提出其他建议 信息:debian w/apache 已安装:libssh2-1-dev libssh2 php pear php5 dev;pecl安装-f ssh2 有什么

尝试使用PHP将文件上载到其他服务器。它成功地连接了
ssh\u connect()
,但是当我包含
ssh2\u scp\u send
时,显示的页面是空白的(好像有语法错误),并且它肯定没有上传文件。知道为什么会这样吗?我更喜欢使用PHP,但如果它不起作用,我想我可以使用私钥文件对CLI
scp
进行系统调用,但我不喜欢这样做。欢迎提出其他建议

信息:debian w/apache

已安装:libssh2-1-dev libssh2 php pear php5 dev;pecl安装-f ssh2


有什么想法吗?

我个人建议使用:


libssh2的主要问题是它不容易安装。原作者已经放弃了它。php.net上的源代码需要修改才能编译,尽管您现在可以使用apt get在Ubuntu上安装它,但当它需要两行以上的新代码才能工作时会发生什么?如果你想让它工作的Linux机器不是Ubuntu呢


如果你需要创建一个新的服务器来承载你的网站,你不想被困在一堆深奥的依赖项上。

你需要启用错误报告来查看错误:我想我应该提到这一点:这两个都设置为:ini_set('display_errors','on');错误报告(E_全部);
$ssh = ssh2_connect('localhost', 22);
ssh2_auth_password($ssh, 'user', 'password');
ssh2_scp_send($ssh, 'original', 'destination'); # does not work
ssh2_exec($ssh, 'exit'); #does not help
<?php
include('Net/SFTP.php');

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

echo $sftp->pwd() . "\r\n";
$sftp->put('filename.ext', 'hello, world!');
print_r($sftp->nlist());
?>