1. 程式人生 > >linux下php zipArchive採用ZipArchive::OVERWRITE失敗,返回錯誤碼:9

linux下php zipArchive採用ZipArchive::OVERWRITE失敗,返回錯誤碼:9

在linux系統下使用zipArchive壓縮檔案,採用ZipArchive::OVERWRITE方式,發現開啟失敗,列印返回的錯誤碼為:9,檢視官方文件  錯誤碼9代表沒有這個檔案,
 $zip = new \ZipArchive();
$res = $zip->open($zip_file_path, \ZipArchive::OVERWRITE);//失敗,返回9
後來使用ZipArchive::CREATE開啟成功
$zip = new \ZipArchive();
$res = $zip->open($zip_file_path, \ZipArchive::CREATE);//成功,返回true

是因為linux系統下不能使用OVERWRITE模式開啟?no no no…

其實是因為pecl zip版本太低的原因。

通過phpinfo();查出zip版本為:Libzip version => 1.1.2通過到官網查詢,這個版本的zip還不支援 ZIPARCHIVE::OVERWRITE 模式!

overwrite

pecl zip在1.7.0版本才加入了ZIPARCHIVE::OVERWRITE模式,真尷尬啊。