个人博客原文: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 模式!
pecl zip在1.7.0版本才加入了ZIPARCHIVE::OVERWRITE模式,真尴尬啊。
本文探讨了在Linux环境下使用ZipArchive类进行文件压缩时遇到的问题,特别是在使用OVERWRITE模式时出现的错误9(文件不存在)。文章指出,该问题是由于pecl-zip扩展版本过低导致,并给出了解决方案。

268

被折叠的 条评论
为什么被折叠?



