Подтвердить что ты не робот

PHP Exec SCP не копирует файл на удаленный сервер

Мне нужен файл с сервера на другой сервер (у меня есть оба), используя PHP. У меня есть следующий script:

<?php

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

Я получаю эту ошибку:

Disallowed system call: SYS_pipe

Что это за ошибка? и как я могу это исправить?

4b9b3361

Ответ 1

Среда PHP не позволяет exec на вашем сервере.

Ответ 2

Это немного поздно, я знаю, но вам может быть повезло с phpclib чистой 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));
?>