Symfony 带有Gaufrete和Phpseclib的SFTP可以';无法读取文件

Symfony 带有Gaufrete和Phpseclib的SFTP可以';无法读取文件,symfony,sftp,phpseclib,gaufrette,Symfony,Sftp,Phpseclib,Gaufrette,我试图从Symfony2命令获取SFTP服务器中的json文件。我使用和适配器 我的计算机上有一个正在运行的SFTP服务器,我可以将它与filezilla连接并列出/读取文件,因此我认为没有权限问题 问题是连接工作,我可以用 $sftpService->getExec()->run("ls") 但我不能和你在一起 $sftpService->getSftp()->listDirectory(".") 我可以创建一个目录,但不能列出它。。我看不懂这些文件。以下是我的测试

我试图从Symfony2命令获取SFTP服务器中的json文件。我使用和适配器

我的计算机上有一个正在运行的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
以下是输出:

以及基本文件夹的权限:

-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
以下是
读取功能的警告


编辑:我可以使用
$sftpService->getExec()->run(“cat test.txt”)读取文件

好的,看来对于SFTP URL(ssh2.STFP://…)我需要使用绝对路径,我的ftp用户的基本文件夹不工作,因此它正在使用:

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