2013-08-23 4 views
1

PHP에서 ssh 연결을 시도하고 있습니다. 하지만이 오류가 발생합니다 SF30 하위 시스템을 시작할 수 없습니다. 나는 그것을 이해하지 못한다. 그리고 나는 구글에서별로 찾을 수 없었다. 이 디버깅 방법을 알려주십시오. 나는 wamp를 사용하고있다.sftp 하위 시스템을 시작할 수 없습니다.

$resConnection = ssh2_connect($strServer, $strServerPort); 

if(ssh2_auth_password($resConnection, $strServerUsername, $strServerPassword)){ 
    //Initialize SFTP subsystem 
    $resSFTP = ssh2_sftp($resConnection); -->error coming here 

}else{ 
    echo "Unable to authenticate on server"; 
} 

답변

0

자세한 내용 없이는 말하기 어렵습니다. 불행하게도, libssh2는 정보의 양이 꽤 제한되어 있습니다. phpseclib, a pure PHP SFTP implementation을 사용하는 것이 좋습니다. 예.

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

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

print_r($sftp->nlist()); 
?> 

는 여전히 전환 한 후, 문제가 발생하면 로그를 얻기 위해 상단에 define('NET_SSH2_LOGGING', 3)을 넣습니다. 그런 다음 로그를 게시하여보다 나은 도움을 얻을 수 있습니다.

감사합니다.

0

나는 동일한 문제가있어서 다음 단계를 통해 해결했습니다.

1) 처음에는 SFTP 연결을 시도하는 서버에 느린 것을 알았습니다.

2) 서버 쪽에서 연결하고 파일을 가져 오는 스크립트가 있습니다. 속도가 느리기 때문에 스크립트가 작업을 완료 할 수없고 매우 느리기 때문에 스크립트를 기다릴 수 없습니다. 나는 함께 SFTP 연결을 위해 만든 얼마나 많은 프로세스 점검 그리고 내가 프로세스 오류가 사라졌다 것을 죽일 후 다음 명령

pkill sftp 

4) 이러한 모든 프로세스를 살해

ps aux | grep sftp 

3) 다음 명령. 이 문제의

요약

주된 이유는 그 것이었다. ftp 서버에서 느린 문제가 발생하여 너무 많은 연결을 만들었습니다. 나는 최대 연결을위한 서버쪽에 약간의 제한이 있다고 생각한다.