2015-03-09 2 views
1

Я пытаюсь реализовать 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 файл с 0kB. Когда я вхожу в систему с помощью 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 и опубликовать их для дальнейшей диагностики.

Смежные вопросы