24

嘿,我在 PHPstorm 中连接 FTP 时遇到问题。我知道我有正确的参数,因为它适用于其他 FTP 客户端。

我得到的错误是:无法列出文件夹“ ftp://real-meal.com/ ”的内容

端口设置为 21,应该是这样。我知道我有正确的用户名/密码。任何想法可能是什么问题?

这是日志文件:

    2013-08-22 14:31:40,053 [8689769]   INFO - api.vfs.impl.local.FileWatcher - Change requests:38912, filtered:15503 
2013-08-22 14:35:55,090 [8944806]   INFO - api.vfs.impl.local.FileWatcher - Change requests:39936, filtered:15933 
2013-08-22 14:36:12,356 [8962072]   WARN - i.remotebrowser.ServerTreeNode - Could not list the contents of folder "ftp://real-meal.com/". 
org.apache.commons.vfs2.FileSystemException: Could not list the contents of folder "ftp://real-meal.com/".
    at org.apache.commons.vfs2.provider.AbstractFileObject.getChildren(AbstractFileObject.java:926)
    at org.apache.commons.vfs2.provider.ftp.FtpFileObject.getChildren(FtpFileObject.java:443)
    at org.apache.commons.vfs2.provider.AbstractFileObject.getChild(AbstractFileObject.java:1006)
    at com.jetbrains.plugins.webDeployment.connections.RemoteConnectionPool.createConnection(RemoteConnectionPool.java:124)
    at com.jetbrains.plugins.webDeployment.connections.RemoteConnectionManager.openConnection(RemoteConnectionManager.java:122)
    at com.jetbrains.plugins.webDeployment.ui.remotebrowser.ServerTreeContext.getConnection(ServerTreeContext.java:83)
    at com.jetbrains.plugins.webDeployment.ui.remotebrowser.ServerTreeNode.computeFile(ServerTreeNode.java:266)
    at com.jetbrains.plugins.webDeployment.ui.remotebrowser.ServerTreeNode.getChildren(ServerTreeNode.java:132)
    at com.intellij.ui.treeStructure.SimpleTreeStructure.getChildElements(SimpleTreeStructure.java:25)
    at com.intellij.ide.util.treeView.AbstractTreeUi$31.run(AbstractTreeUi.java:1618)
    at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1824)
    at com.intellij.ide.util.treeView.AbstractTreeUi.getChildrenFor(AbstractTreeUi.java:1615)
    at com.intellij.ide.util.treeView.AbstractTreeUi.access$4600(AbstractTreeUi.java:60)
    at com.intellij.ide.util.treeView.AbstractTreeUi$46.run(AbstractTreeUi.java:2702)
    at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1824)
    at com.intellij.ide.util.treeView.AbstractTreeUi.access$2400(AbstractTreeUi.java:60)
    at com.intellij.ide.util.treeView.AbstractTreeUi$57$1.run(AbstractTreeUi.java:3379)
    at com.jetbrains.plugins.webDeployment.ui.remotebrowser.WebServerTreeBuilder.runBackgroundLoading(WebServerTreeBuilder.java:90)
    at com.intellij.ide.util.treeView.AbstractTreeUi$57.run(AbstractTreeUi.java:3370)
    at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1824)
    at com.intellij.ide.util.treeView.AbstractTreeUi.access$2400(AbstractTreeUi.java:60)
    at com.intellij.ide.util.treeView.AbstractTreeUi$58.run(AbstractTreeUi.java:3435)
    at com.intellij.util.concurrency.WorkerThread.run(WorkerThread.java:108)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:434)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
        at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:151)
    Caused by: java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.$$YJP$$socketRead0(Native Method)
        at java.net.SocketInputStream.socketRead0(SocketInputStream.java)
        at java.net.SocketInputStream.read(SocketInputStream.java:150)
        at java.net.Socke

tInputStream.read(SocketInputStream.java:121)
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.BufferedReader.fill(BufferedReader.java:154)
    at java.io.BufferedReader.read(BufferedReader.java:175)
    at org.apache.commons.net.io.CRLFLineReader.readLine(CRLFLineReader.java:58)
    at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:310)
    at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:290)
    at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:479)
    at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:718)
    at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:657)
    at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:3097)
    at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:3072)
    at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2731)
    at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.listFilesInDirectory(FTPClientWrapper.java:162)
    at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.listFiles(FTPClientWrapper.java:149)
    at org.apache.commons.vfs2.provider.ftp.FtpFileObject.doGetChildren(FtpFileObject.java:141)
    at org.apache.commons.vfs2.provider.ftp.FtpFileObject.doListChildren(FtpFileObject.java:459)
    at org.apache.commons.vfs2.provider.AbstractFileObject.getChildren(AbstractFileObject.java:917)
    ... 30 more
4

6 回答 6

139

我只是在 PHPstorm 中遇到了同样的问题。要修复它,我只需单击高级并选择被动模式。一旦我这样做了,它就会为我连接起来。希望能帮助到你。

于 2014-03-30T21:45:19.343 回答
11

MauricioOtta:转到文件->设置... ->部署。选择 FTP 连接并单击高级选项...按钮。勾选被动模式,然后应用并保存您的设置。遭受这个问题的次数比我想记住的要多,所以我对Todd的解决方案感到非常满意。仍然有一些失败的下载,但没有那么多!

于 2014-11-01T11:01:14.927 回答
4

我有同样的问题。按照路径: 在此处输入图像描述

于 2017-09-19T08:57:13.207 回答
0

我所做的只是添加“ftp”。在主机名之前,它起作用了!

因此,主机不是:domain.com ,而是我将其更改为ftp.domain.com并确保还检查了被动模式。

于 2019-11-09T20:32:10.227 回答
0

对我来说,我还必须删除“ftp”。来自 ftp 主机的名称 - 否则会收到“找不到主机”消息。重要提示,您可能需要在 Mappings 选项卡(或适合您自己的设置的任何内容)上为您的部署路径添加一个“/”才能真正被钩住并开始使用。

于 2016-09-12T16:16:51.640 回答
0

我的解决方法是确保我从 Excel 文件复制粘贴到 PHPStorm 设置中的密码不包含尾随空格。

于 2021-01-03T20:17:07.400 回答