2013-08-13 2 views
0

제가 잘못되었거나 서버가 phpseclib 또는 무엇을 지원하지 않는지 확실하지 않지만 보안 FTP 연결 만 수락 할 FTP 서버에 연결하려고합니다. 특정 IP 주소에서만 가능합니다. 이제는 SSH를 통해 내 VPS에 원격으로 연결되어 있고 명령 줄에서 FTP 서버에 수동으로 연결되어 있기 때문에 FTP 서버가 내 VPS 서버의 연결을 허용한다는 것을 알았습니다.phpseclib가 항상 로그인을 생성하지 못했습니다.

그러나 나는 phpseclib로 다음을 시도 할 때 항상 종료 점에 도달합니다.

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib'); 
include 'Net/SFTP.php'; 

$sftp = new NET_SFTP('***'); 
if(!$sftp->login('***', '***')) { 
    $sftp->getSFTPErrors(); 
    exit('Login Failed'); // <-- Code always gets to this point 
} 

echo $sftp->pwd(); 

이 문제를 디버깅하는 방법조차 잘 모르겠습니다. 나도 도움을 얻으려고 asked a question on their forum을 가지고있다. define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX);으로 로깅을 사용하도록 설정하고 나서 출구 바로 위에 echo $sftp->getSFTPLog();을 출력했지만 아무 것도 출력하지 않습니다.

페이지에서 나는 단지 Login Failed을 가지고 있으므로 $sftp->getSFTPErrors();에서 오류가 발생하지 않습니다.

저는 PHP에서 보안 FTP 연결을 사용하는 것에 완전히 익숙하지 않으며 내가 잘못하고있는 것을 모릅니다. 누군가 제발 문제를 디버그 도와 드릴까요?

+0

이 보이는 http://www.frostjedi.com/phpbb3/viewtopic.php?f=46&t=168858 – neubert

+0

당신이 되었습니까? 어떤 마지막을 문제는 무엇 이었습니까? 이후 나는 같은 오류가 발생합니다. –

+0

@MasnadNihit 서버에 필요한 모듈이 누락되었습니다. – Styphon

답변

2

사용하는 방식에 오류가 없음이 분명합니다. $sftp->getLastSFTPError()은 문자열을 반환하고 $sftp->getSFTPErrors()은 배열을 반환하며 그게 잘못된 것을보기 위해 에코해야합니다. 여기에 대한 답을받은 것 같은

시도

print_r($sftp->getSFTPErrors()); 
관련 문제