我有一个有趣的问题,我可以在 Cent OS 上使用 FTP 上传文件、更改权限、下载文件。然而,有趣和烦人的部分是,文件在上传时完全是空白的(0 字节)。
这里可能有什么问题?
这是来自客户端(FileZilla)的日志:
Status: Starting upload of C:\gettweetmodel_dev.php
Status: Retrieving directory listing...
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: PASV
Response: 227 Entering Passive Mode.
Command: LIST -a
Response: 150 Here comes the directory listing.
Response: 226 Directory send OK.
Command: TYPE A
Response: 200 Switching to ASCII mode.
Command: PASV
Response: 227 Entering Passive Mode
Command: STOR gettweetmodel_dev.php
Response: 150 Ok to send data.
Response: 451 Failure writing to local file.
答案1
该错误代码主要有三种可能:您没有上传到该目录的权限、服务器磁盘已满或上传文件会超出用户的磁盘配额。
Ftp 4xx 错误代码是“瞬时否定完成回复”代码。换句话说,当服务器无法执行某些操作时,会返回这些错误代码。具体来说,错误代码 451 表示服务器无法写入文件。
如果您确实能够在远程目录中创建大小为零的文件,则很可能排除权限错误的可能性。
如果您可以联系服务器管理员,您应该能够确定确切的问题。
答案2
听起来像是磁盘已满的问题。如果您有权访问 FTP 服务器,您可以使用以下命令确认磁盘是否已满:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda3 76773444 72816084 0 100% /
/dev/hda1 101086 16327 79540 18% /boot
/dev/shm 501628 0 501628 0% /dev/shm
这表明设备 /dev/hda3 已满。此外,您还可以检查 FTP 服务器的日志文件:
$ less /var/log/messages
然后搜索 FTP 以查找来自服务器的任何有关无法写入磁盘的错误消息。
答案3
发生的情况很可能是由于磁盘已满问题,请检查磁盘空间并检查帐户的配额