2016-10-06 8 views
1

Я пытаюсь получить json-файл на SFTP-сервере из команды Symfony2. Я использую KnpGaufretteBundle и адаптер phpseclib-sftp.SFTP с Gaufrette и Phpseclib не умеет читать файлы

У меня на моем компьютере работающий SFTP-сервер, я могу подключить его к файловым файлам и файлам/файлам, поэтому я не думаю, что есть проблема с разрешением.

Проблема заключается работа соединения, я могу перечислить файлы с

$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

И права доступа к папке базы:

-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 

Вот предупреждение для функции read enter image description here

Редактировать: Я могу прочитать файл с $sftpService->getExec()->run("cat test.txt"));

ответ

1

Ok так что кажется, что для SFTP ссылок (ssh2.STFP: // ...) Мне нужно использовать абсолютный путь, базовая папка моего FTP пользователь не работает, так что он работает с:

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

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

  • Нет связанных вопросов^_^