ftpphpstormphpstorm-2017.2

PhpStorm: Add Remote Server > FTP Connection not working, yet test connection does


In PhpStorm 2017.2, I am trying to setup a new Project from existing files via FTP.

On the "Add Remote Server" screen I enter all the credentials, in "Advanced options" I have "Passive mode" box checked.

When I click on "Test FTP connection" button, I get "Successfully connected to xxx.xxx.xxx.xxx".

However, when I click on "Next" button to get to the next screen, I get "Connection to 'ServerName' failed. Connection timed out: connect".

I can connect without a problem via Filezilla so I know the credentials are correct.

Here is a part of debug log responsible for the attempts described above:

2017-10-13 18:25:01,335 [ 475250] WARN - nnections.PatchedFtpFileSystem - Failed to send keep-alive message. 
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
at java.io.BufferedWriter.flush(BufferedWriter.java:254)
at org.apache.commons.net.ftp.FTP.__send(FTP.java:505)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:479)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:608)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:582)
at org.apache.commons.net.ftp.FTP.noop(FTP.java:1763)
at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.noop(FTPClientWrapper.java:488)
at org.apache.commons.vfs2.provider.ftp.JBFtpKeepAliveCommand$1.invoke(JBFtpKeepAliveCommand.java:10)
at com.jetbrains.plugins.webDeployment.connections.PatchedFtpFileSystem$2.run(PatchedFtpFileSystem.java:53)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:246)
at com.intellij.util.Alarm$Request.runSafely(Alarm.java:417)
at com.intellij.util.Alarm$Request.access$700(Alarm.java:344)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:384)
at com.intellij.util.Alarm$Request.run(Alarm.java:395)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:237)
at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:212)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2017-10-13 18:25:01,336 [ 475251] INFO - ains.plugins.webDeployment.ftp - java.net.SocketException: Connection reset by peer: socket write error 
2017-10-13 18:25:06,225 [ 480140] WARN - nnections.PatchedFtpFileSystem - Failed to send keep-alive message. 
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
at java.io.BufferedWriter.flush(BufferedWriter.java:254)
at org.apache.commons.net.ftp.FTP.__send(FTP.java:505)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:479)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:608)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:582)
at org.apache.commons.net.ftp.FTP.noop(FTP.java:1763)
at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.noop(FTPClientWrapper.java:488)
at org.apache.commons.vfs2.provider.ftp.JBFtpKeepAliveCommand$1.invoke(JBFtpKeepAliveCommand.java:10)
at com.jetbrains.plugins.webDeployment.connections.PatchedFtpFileSystem$2.run(PatchedFtpFileSystem.java:53)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:246)
at com.intellij.util.Alarm$Request.runSafely(Alarm.java:417)
at com.intellij.util.Alarm$Request.access$700(Alarm.java:344)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:384)
at com.intellij.util.Alarm$Request.run(Alarm.java:395)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:237)
at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:212)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2017-10-13 18:25:06,225 [ 480140] INFO - ains.plugins.webDeployment.ftp - java.net.SocketException: Connection reset by peer: socket write error 
2017-10-13 18:36:38,512 [1172427] DEBUG - ains.plugins.webDeployment.ftp - 220 Microsoft FTP Service 
2017-10-13 18:36:38,513 [1172428] DEBUG - ains.plugins.webDeployment.ftp - USER Administrator 
2017-10-13 18:36:38,558 [1172473] DEBUG - ains.plugins.webDeployment.ftp - 331 Password required 
2017-10-13 18:36:38,558 [1172473] DEBUG - ains.plugins.webDeployment.ftp - PASS *** 
2017-10-13 18:36:38,603 [1172518] DEBUG - ains.plugins.webDeployment.ftp - 230 User logged in. 
2017-10-13 18:36:38,603 [1172518] DEBUG - ains.plugins.webDeployment.ftp - TYPE I 
2017-10-13 18:36:38,650 [1172565] DEBUG - ains.plugins.webDeployment.ftp - 200 Type set to I. 
2017-10-13 18:36:38,650 [1172565] DEBUG - ains.plugins.webDeployment.ftp - PWD 
2017-10-13 18:36:38,695 [1172610] DEBUG - ains.plugins.webDeployment.ftp - 257 "/" is current directory. 
2017-10-13 18:36:45,291 [1179206] DEBUG - ains.plugins.webDeployment.ftp - 220 Microsoft FTP Service 
2017-10-13 18:36:45,291 [1179206] DEBUG - ains.plugins.webDeployment.ftp - USER Administrator 
2017-10-13 18:36:45,343 [1179258] DEBUG - ains.plugins.webDeployment.ftp - 331 Password required 
2017-10-13 18:36:45,343 [1179258] DEBUG - ains.plugins.webDeployment.ftp - PASS *** 
2017-10-13 18:36:45,394 [1179309] DEBUG - ains.plugins.webDeployment.ftp - 230 User logged in. 
2017-10-13 18:36:45,394 [1179309] DEBUG - ains.plugins.webDeployment.ftp - TYPE I 
2017-10-13 18:36:45,446 [1179361] DEBUG - ains.plugins.webDeployment.ftp - 200 Type set to I. 
2017-10-13 18:36:45,446 [1179361] DEBUG - ains.plugins.webDeployment.ftp - PWD 
2017-10-13 18:36:45,498 [1179413] DEBUG - ains.plugins.webDeployment.ftp - 257 "/" is current directory. 
2017-10-13 18:37:06,500 [1200415] INFO - .httpclient.HttpMethodDirector - I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect 
2017-10-13 18:37:06,500 [1200415] INFO - .httpclient.HttpMethodDirector - Retrying request 
2017-10-13 18:37:27,501 [1221416] INFO - .httpclient.HttpMethodDirector - I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect 
2017-10-13 18:37:27,501 [1221416] INFO - .httpclient.HttpMethodDirector - Retrying request 
2017-10-13 18:37:48,502 [1242417] INFO - .httpclient.HttpMethodDirector - I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect 
2017-10-13 18:37:48,502 [1242417] INFO - .httpclient.HttpMethodDirector - Retrying request 
2017-10-13 18:38:09,505 [1263420] WARN - createproject.ChooseServerStep - Could not connect to HTTP server on "xxx.xx.xxx.xxx". 
org.apache.commons.vfs2.FileSystemException: Could not connect to HTTP server on "xxx.xx.xxx.xxx".
at org.apache.commons.vfs2.provider.http.HttpClientFactory.createConnection(HttpClientFactory.java:154)
at org.apache.commons.vfs2.provider.http.HttpClientFactory.createConnection(HttpClientFactory.java:49)
at org.apache.commons.vfs2.provider.http.HttpFileProvider.doCreateFileSystem(HttpFileProvider.java:83)
at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.getFileSystem(AbstractOriginatingFileProvider.java:102)
at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:80)
at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:64)
at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:790)
at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:712)
at com.jetbrains.plugins.webDeployment.PublishUtils.openUrl(PublishUtils.java:289)
at com.jetbrains.plugins.webDeployment.PublishUtils.openUrl(PublishUtils.java:285)
at com.jetbrains.plugins.webDeployment.PublishUtils.doCheckUrl(PublishUtils.java:141)
at com.jetbrains.plugins.webDeployment.PublishUtils.lambda$null$1(PublishUtils.java:109)
at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:342)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:286)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at org.apache.commons.vfs2.provider.http.HttpClientFactory.createConnection(HttpClientFactory.java:150)
... 17 more

Please help!


Solution

  • After Struggling for almost two weeks here is what made it work:

    1) Previously in order for "Test FTP connection" button to work, I had to check the "Passive mode" box checked in "Advanced options". However, in order for "Next" button to work, I had to UNCHECK the "Passive mode" box in "Advanced options".

    2) I also had to CHECK "Don't check HTTP connection to server" box in main window.