Функции PHP 5 SSH2


Я установил и включил SSH2 на своем сервере CentOS WHM/cPanel, вот информация о PHP:

Сш2 Поддержка SSH2 включена версия расширения 0.11.2 libssh2 версии 0.18 баннер SSH-2.0-libssh2_0.18 включена удаленная пересылка, включена аутентификация на базе хоста, включена поддержка опроса , включена подсистема открытых ключей

Зарегистрированные потоки PHP https, ftps, compress.zlib, php, файл, глобус, данные, http, ftp, ssh2.оболочка, ssh2.exec, ssh2.туннель, ssh2.scp, ssh2.sftp

Однако всякий раз, когда я пытаюсь использовать функции PHP SSH2 для получения файла, я получаю следующее:

Предупреждение: ssh2_scp_recv(/home/XXXX) [функция.ssh2-scp-recv]: не удалось открыть поток: Находится ли каталог в файле /пути в строке 16

Вот код:

if($connection = ssh2_connect('www.server.com', 22)){
    echo("connected");
}else{
    echo("NOT connected");
}

if(ssh2_auth_password($connection, 'username', 'mypassword')){
    echo("password ok");
}else{
    echo("password WRONG");
}

if(ssh2_scp_recv($connection, '/home/pathtoDLfile', '/home/pathtoLocationDestination')){
    echo("received");
}else{
    echo("NOT received");
}

echo("end");
Author: Paul Sonier, 2011-07-11

2 answers

Пожалуйста, проверьте "/home/PATHTODLFILE" и "/home/pathtolocationdestination", чтобы убедиться, что это имена файлов, а не каталог.

Обратите особое внимание, что местоположение назначения ("/home/pathtolocationdestination") должно быть именем файла, а не просто путем к каталогу. Вы можете добавить желаемое имя файла в путь, если в данный момент вы указали только имя каталога.

 3
Author: George Cummins, 2011-07-11 16:55:43

Похоже, что вы указали каталог для расположения, в котором будет сохранен ваш файл, а не имя файла.

 4
Author: Paul Sonier, 2011-07-11 16:54:58