今天在做一个解压zip文件的时候提示出现了上面的错误。这个问题非常的奇怪。zip open方法是正常的,只是在调用extractTo和close的时候提示出现错误。错误信息:
Warning: ZipArchive::extractTo(): Invalid or uninitialized Zip objec
代码如下:
$zip = new ZipArchive;
if (!$zip->open($file) === TRUE) //中文文件名要使用ANSI编码的文件格式
{
$zLogItem->setStop("解压安装包失败");
zLog::add($zLogItem);
exit;
}
$zip->extractTo(__DIR__);
$zip->close();
最开始我怀疑是不是路径的问题,但都被排查了。后面怀疑是没有安装zip扩展的问题,这个问题也被排查了。
最后的最后发现是zip文件的问题,换一个zip文件就一切正常了。