0

在 PhpStorm 2017.2 中,我试图通过 FTP 从现有文件设置一个新项目。

在“添加远程服务器”屏幕上,我输入所有凭据,在“高级选项”中,我选中了“被动模式”框。

当我点击“测试 FTP 连接”按钮时,我得到“成功连接到 xxx.xxx.xxx.xxx”。

但是,当我单击“下一步”按钮进入下一个屏幕时,我得到“连接到 'ServerName' 失败。连接超时:连接”。

我可以通过 Filezilla 毫无问题地连接,所以我知道凭据是正确的。

这是负责上述尝试的调试日志的一部分:

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

请帮忙!

4

1 回答 1

2

经过近两周的努力,这就是它的工作原理:

1) 以前为了让“测试 FTP 连接”按钮起作用,我必须在“高级选项”中选中“被动模式”复选框。但是,为了使“下一步”按钮起作用,我必须取消选中“高级选项”中的“被动模式”框

2)我还必须在主窗口中检查“不检查与服务器的 HTTP 连接”框。

于 2017-10-16T22:01:20.070 回答