FTPでのファイルアップロードで大量のアップロードを行うと、たまにアップロード出来ないファイルがあります。
サーバーでアップロード出来なかったファイルを見てみると0バイトのファイルが出来ていました。
vsftpdにてxferlogを出力し確認してみたところ、ファイルサイズが0バイトでcompletion-statusが「i」(未完了)になっていました。
どのような場合にファイルサイズが0バイトでcompletion-statusが「i」(未完了)となるのでしょうか?
同じデータをアップロードしようとすると今度は一度アップロード出来ていた他のファイルで同じ状態になります。
ネットワークの問題なのでしょうか・・・
RHEL7.4
vsftpd3.0.2
そうですが、php の ftp_put は使ったことがないので、仕様がわかりませんが・・・。 ファイルが 特定のものでない場合は、おっしゃっているように ネットワークの問題や クライアントの問題であることが多いです。FTP サーバ側の問題で 不特定のファイルが失敗するようなことはほとんどありません。
Linuxサーバーから他のLinuxサーバーへFTPでファイルを転送する仕組みなのですが、先ほどlftpコマンドで手作業でアップロードした時にも途中で接続が切れるパターンがありました。なのでクライアント側とは考えづらいです。