我使用this tutorial在我的Ubuntu 16.04上设置了vsftpd。
我可以使用FileZilla连接到服务器,但不能通过PhpStorm连接到服务器。当我尝试将文件上传到服务器时,它会发出此错误:
无法传输文件' C:\ xampp \ htdocs \ sherkat \ artisan.php':无法打开文件输出连接" ftps://SERVER-IP/artisan.php" ;。原因:" 500非法PORT命令。"。
我的配置有什么问题?
答案 0 :(得分:5)
FTP协议支持两种数据连接模式。在传统模式中,称为“活动”(默认),在客户端发送的每个命令上,服务器创建一个返回客户端的连接并使用它来发送响应。由于防火墙,现在大多数设置(实际上,在过去的20多年里)都是不可能的。
还有另一种模式,称为“被动”,其中响应的数据连接也由客户端启动。它可以毫无问题地通过防火墙工作。
按“高级选项...”按钮,选中“被动模式”选项,你就可以了!
作为旁注,更好的方法是使用SFTP协议。如果您可以通过SSH连接到Ubuntu盒子,很可能您也可以使用SFTP将文件传输到它,而无需任何其他设置。 FTP是一个古老而复杂的协议。 SFTP使用安全连接(可能对您来说并不重要),以及更简单的协议。