PHP Exec SCP 不将文件复制到远程服务器

发布于 2024-12-11 03:49:03 字数 378 浏览 0 评论 0原文

我需要使用 PHP 将文件从一台服务器传输到另一台服务器(我拥有这两台服务器)。我有以下脚本:

<?php

exec('scp /home/pat/file1.tst [email protected]:/home/pat/file1.txt');

我收到此错误:

Disallowed system call: SYS_pipe

该错误是什么?我该如何解决它?

I need a file from a server to another server (I own both) using PHP. I have the following script:

<?php

exec('scp /home/pat/file1.tst [email protected]:/home/pat/file1.txt');

I get this error:

Disallowed system call: SYS_pipe

What is that error? and how can I fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

匿名。 2024-12-18 03:49:03

PHP 环境不允许在您的服务器上执行。

PHP environment does not allow exec on your server.

追星践月 2024-12-18 03:49:03

我知道这有点晚了,但您可能会更好地使用 phpseclib 的纯 PHP SCP 实现

https://raw.github.com/phpseclib/phpseclib/master/phpseclib/Net/SCP.php

如何使用它的示例:

<?php
include('Net/SCP.php');
include('Net/SSH2.php');

$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
    exit('bad login');
}

$scp = new Net_SCP($ssh);
$scp->put('abcd', str_repeat('x', 1024*1024));
?>

This is kinda late, I know, but you might have better luck with phpseclib's pure PHP SCP implementation:

https://raw.github.com/phpseclib/phpseclib/master/phpseclib/Net/SCP.php

Example of how to use it:

<?php
include('Net/SCP.php');
include('Net/SSH2.php');

$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
    exit('bad login');
}

$scp = new Net_SCP($ssh);
$scp->put('abcd', str_repeat('x', 1024*1024));
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文