1
我想使用下面的代碼將10.000個文件打包到.tar文件中。沒有太大的檔案大小不會超過幾個100MB。我的問題是這需要很長時間。其實我現在正在打包9000個文件一個小時。在shell中這是在2分鐘內完成的,它是一個運行apache2的強大的linux服務器。那麼這裏有什麼問題?我怎樣才能提高PHP腳本的速度?PHP:創建.tar文件極其緩慢
$Path = str_replace('\\', '/', realpath($Path));
if (is_dir($Path) === true) {
$files = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($Path), \RecursiveIteratorIterator::SELF_FIRST);
$archive = new \PharData('/var/www/test.tar');
foreach ($files as $file) {
$filePath = $file->getRealPath();
$archive->addFile($filePath);
}
是否有所作爲,如果你使用'PharData :: buildFromIterator()'? – 2014-10-06 11:36:50
運行一些簡單的性能分析:在getRealPath和addFile調用之後添加一個時間戳。 – 2014-10-06 11:37:10
如果命令行非常快,那麼爲什麼不從PHP調用命令行呢? – 2014-10-06 11:45:45