linux下php zipArchive采用ZipArchive::OVERWRITE失败,返回错误码:9

个人博客原文:http://www.lampnick.com/php/261

在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 模式!

linux下php zipArchive采用ZipArchive::OVERWRITE失败,返回错误码:9_第1张图片

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


你可能感兴趣的:(PHP)