Функции 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");
2 answers
Пожалуйста, проверьте "/home/PATHTODLFILE" и "/home/pathtolocationdestination", чтобы убедиться, что это имена файлов, а не каталог.
Обратите особое внимание, что местоположение назначения ("/home/pathtolocationdestination") должно быть именем файла, а не просто путем к каталогу. Вы можете добавить желаемое имя файла в путь, если в данный момент вы указали только имя каталога.
Похоже, что вы указали каталог для расположения, в котором будет сохранен ваш файл, а не имя файла.