从远程 NFS 共享复制时,PHP 复制功能比 linux cp 命令慢


PHP Copy function slower than linux cp command when copying from remote NFS share

我一直在尝试从另一台服务器上的nfs share复制音频文件。当我使用 PHP 复制 5.5 MB 音频文件需要 8 秒。但是,当我在外壳中使用 cp 命令时,需要 0.845 秒。

有没有人知道问题是什么以及如何解决它?

<?php
  $result = copy('/remote/dir/remoteFile.wav’,’12345.wav');
  var_dump($returnVar);
?>

此外,您可以确定PHP副本将比linux cp慢,因为一个使用本机操作系统级别的调用,另一个是应用程序层,它通过Web服务器等调用相同的调用。 要通过的层太多,要处理的通知,要遵守的协议等。我不认为这是完全可以解决的。

也许您可以尝试一个 exec('cp ..') 命令而不是copy(),该命令将直接尝试从 php 运行 linux cp 命令。可能不会给你像cp from shell那么快的速度,但可能会让它比copy() from php快一点。试一试..