title: PHPStorm FTP Connection Fails
body: <p>Hey I am having an issue connecting with FTP in PHPstorm. I know I have the correct parameters because it works in other FTP clients. </p>
  
  <p>The error I get is: Could not list contents of the folder "<a href="ftp://real-meal.com/" rel="noreferrer">ftp://real-meal.com/</a>"</p>
  
  <p>The port is set to 21, as it should be. and I know I have the correct username / password. Any ideas what the issue could be?</p>
  
  <p>Here is the Log File:</p>
  
  <pre><code>    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
  </code></pre>