我在PHP脚本中遇到了奇怪的FTP故障。我只是使用命令行FTP重新创建了失败,所以我想我可以从查询中删除PHP。
在Ubuntu 10.10中使用命令行FTP,我可以连接到我的FTP服务器,登录,列出目录等。但是,当我尝试使用“put”将文件从本地机器传输到FTP服务器时,我得到“553无法创建文件”错误。在主动和被动模式下我得到相同的错误。传输设置为二进制。
当我在同一台计算机上运行FileZilla并使用相同的凭据连接到同一FTP服务器,并尝试将同一文件传输到同一目标目录时,在默认为二进制和被动模式后,传输工作正常。
FWIW,PHP脚本(这是一个简单的ftp_connect,ftp_login和ftp_put)使用相同的细节失败了“非法PORT命令”,虽然我怀疑这只是PHP对我从命令行FTP获得的同一错误的解释。同样,在主动和被动FTP模式下都会发生此错误。
答案 0 :(得分:2)
FileZilla和ftp命令可能在不同的目录中启动。您可以在FileZilla中设置启动远程目录,并且必须从命令行转到相同的位置。
从命令行客户端登录后尝试使用pwd
命令,它将显示当前工作目录,将其与FileZilla正在使用的目录进行比较,然后使用cd
命令转到正确的目录。