5

copy()ファイルをある場所から別の場所にコピーするには、PHP の関数を使用する必要があります。意図的に使用していませんrename()

ファイルは 500MB から 1GB です。PHP スクリプトを起動してから移動するのに 10 ~ 20 秒ほどかかるようです (1 回の実行で 1 つのファイルが処理されます)。

max_execution_time私のサーバーは、 、post_max_sizeupload_max_filesizeおよびの値が原因でこれらのファイルのアップロードを拒否していましたが、これらmemory_limitはすべて途方もなく高く設定されていましたが、アップロードしようとするとサーバーがタイムアウトしました。

copy()サイトが大量のトラフィックを処理しているときにこの操作を実行すると、サーバーが失敗するのではないかと心配しています。

私の質問は、PHPcopy()はサーバーのメモリや実行時間の制限をオーバーロードするような方法で動作するのでしょうか?

PHPスクリプトが完了するまでに長い時間がかかることは知っていますが、PHPが座ってサーバーOSにファイルを移動させるため、その時間は基本的にメモリ不足の「待機時間」の期間に過ぎないことを願っています... PHP がファイルをコピーするためにファイルをバッファなどにロードする必要があるとは思わないでしょうが、このレベルでのメモリの議論は私の理解から少し外れているトピックです。

PHP がどのようcopy()にメモリを使用するか、またメモリの過負荷に関連するリスクがあるかどうかを説明できる人はいますか?

4

1 に答える 1