找回密码
 新建账号

PHP Warning: ftp_put(): Ok to send data.

[复制链接]
php 发表于 2023/4/23 11:47 | 显示全部楼层 |阅读模式
用 PHP 上传文件到 FTP 服务器,出现了非常诡异的错误,查看 PHP 错误日志文件,发现 PHP 记录的错误信息是 PHP Warning:  ftp_put(): Ok to send data.
  1. [10-Apr-2023 06:03:59 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  2. [11-Apr-2023 06:00:41 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  3. [12-Apr-2023 06:02:53 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  4. [13-Apr-2023 06:00:12 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  5. [14-Apr-2023 05:59:58 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  6. [15-Apr-2023 05:59:54 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  7. [16-Apr-2023 06:00:06 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  8. [17-Apr-2023 05:59:49 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  9. [18-Apr-2023 06:00:01 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  10. [19-Apr-2023 06:00:03 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  11. [20-Apr-2023 05:59:13 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  12. [20-Apr-2023 14:23:29 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  13. [20-Apr-2023 14:33:29 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 151
  14. [23-Apr-2023 10:40:28 Asia/Shanghai] PHP Warning:  ftp_put(): Ok to send data. in C:\server\sites\wuxiancheng.cn\ftp.php on line 153
复制代码
检查代码发现 PHP 程序并没有错误,切换 PHP 版本也不能解决问题。
改用 cURL 命令行版尝试上传文件
  1. curl --url "ftp://<HOST>/<DIRECTORY>" --user "<USERNAME>:<PASSWORD>" --upload-file "<FILEPATH>" --verbose
复制代码
也不能正常上传文件,提示 553 Could not create file,实际上传 0 bytes.
  1. < 553 Could not create file.

  2. * Failed FTP upload: 553
  3. * Uploaded unaligned file size (0 out of 64336759 bytes)
复制代码
切换另一个 FTP 服务器却可以正常上传文件,说明问题出在 FTP 服务器上。
最终发现是 FTP 服务器存储用完了,已经没有可用空间。解决办法就是增加 FTP 服务器存储空间或者切换到其他 FTP 服务器,也可以使用 PHP 动态删除旧文件,为新文件腾出足够的可用存储空间。

更多信息可以参考以下链接
https://en.wikipedia.org/wiki/List_of_FTP_server_return_codes
https://www.php.net/manual/en/function.ftp-put

手机版|轻松E站

GMT+8, 2024/4/27 19:55

快速回复 返回顶部 返回列表