在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
请帮忙!
答案 0 :(得分:0)
在苦苦挣扎了将近两周之后,才有了它的作用:
1)以前为了使“测试FTP连接”按钮起作用,我必须检查“高级选项”中选中的“被动模式”框。但是,为了使“下一步”按钮起作用,我必须在“高级选项”中取消选中“被动模式”框。
2)我还必须在主窗口中检查“不检查与服务器的HTTP连接”框。