ssh2 exec — возникают проблемы с разархивированием с помощью php / ssh2_connect

Я пытаюсь реализовать php в сочетании с ssh2_connect, чтобы разархивировать в удаленной папке с помощью этого сценария:

$connection = ssh2_connect($ipaddress, 22);

if (!$connection) {
throw new Exception("Could not connect to server.");
}

if (!ssh2_auth_password($connection, $username, $password)) {
throw new Exception("Authentication failed!");
}
else {
$unzip = "unzip $filename";
//$unzip = "unzip $filename -d /home/upload/homes/folder/";
if ( ($stream = ssh2_exec( $connection, $unzip ) ) ){
$sftp = ssh2_sftp($connection);
ssh2_sftp_unlink($sftp, $filename);
}
}

Мой zip-файл содержит несколько файлов, но функция unzip возвращает только 1 файл с 0 КБ.
Когда я захожу через ssh, я могу успешно разархивировать файл.
Есть идеи?

1

Решение

libssh2 ведет себя странно. вам может повезти с phpseclib, чистой реализацией PHP SSH2. например.

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

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

echo $ssh->exec("unzip $filename")
?>

Если это не сработает, вы можете получить журналы phpseclib и опубликовать их для дальнейшей диагностики.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]