2016-10-06 7 views
1

SFF 서버에서 Symfony2 명령으로 json 파일을 가져 오려고합니다. 나는 KnpGaufretteBundlephpseclib-sftp 어댑터를 사용합니다.Gaufrette 및 Phpseclib을 사용하는 SFTP에서 파일을 읽을 수 없습니다.

내 컴퓨터에 실행중인 SFTP 서버가 있는데 권한 문제는 아닌 것 같아 filezilla에 연결하고 파일을 열거 나 읽을 수 있습니다.

문제는 연결 작업, 나는

$sftpService->getExec()->run("ls") 

와 파일을 나열 할 수 있습니다하지만

$sftpService->getSftp()->listDirectory(".") 

내가 디렉토리를 생성하지만, 그것을 나열 할 수 없습니다하지 수 있습니다 .. 내가 파일을 읽을 수 없습니다. 여기

$sftpService = $this->getContainer()->get("phpseclib_sftp"); 
dump($sftpService->getExec()->run("ls")); //file "test.txt" exist 
$sftp = $sftpService->getSftp(); 
dump($sftp->exists("test.txt")); //false 
dump($sftp->read("test.txt")); //false 
dump($sftp->mkdir("testMkdir")); //true 
dump($sftpService->getExec()->run("ls")); //the new directory exist 
dump($sftp->listDirectory("testMkdir")); //false 

그리고 출력됩니다 : Console output

그리고 기본 폴더의 사용 권한 : 여기 내 테스트 코드입니다 read 기능에 대한 경고는 여기

-rwxrwxrwx 1 sftp_user staff 11 6 oct 10:31 test.txt 
drwxr-xr-x 2 sftp_user staff 68 6 oct 10:56 testMkdir 

됩니다 enter image description here

편집 :으로 파일을 읽을 수 있습니다.

답변

1

확인이 그래서 것은 SFTP URL의처럼 보인다 (ssh2.STFP : // ...)가 함께 일하고, 그래서 내가, 내 FTP 사용자의 기본 폴더가 작동하지 않습니다 절대 경로를 사용해야합니다

$sftp->read($sftp->realpath("test.txt"))