php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
本文实例讲述了php使用ZipArchive提示Fatalerror:ClassZipArchivenotfoundin的解决方法。分享给大家供大家参考。具体如下:
ZipArchive是php自带的一个压缩与解压缩函数了,今天理所当然的情况中使用newZipArchive来创建zip文件时碰到提示Fatalerror:ClassZipArchivenotfoundin错误,感兴趣的朋友就一起来看看解决方法。
测试代码如下:
//PHP解压缩文件(zip) functionunzip_file($file,$destination){ $zip=newZipArchive(); //打开压缩文件 if($zip->open($file)!==TRUE){ die('Couldnotopenarchive'); } //创建文件 $zip->extractTo($destination); $zip->close(); echo'成功'; } unzip_file("htdocs.zip","wenjianming");
执行时发现
Fatalerror:Class'ZipArchive'notfoundinE:wwwqqdown.phponline63
看这个不是未定义了,所以小编百度搜索一下,如下如下解说
在Windows下的解决办法是:
1、在php.ini文件中,将extension=php_zip.dll前面的分号“;”去除;
重启Apache服务器,我们再试发现可以了
补充:
如果是linux系统参考下面方法
在Linux下没有php_zip.dll这个文件
需要重新编译一下php的zip模块。具体安装方法如下:
cd/usr/src wgethttp://pecl.php.net/get/zip tar-zxvfzip cdzip-1.x.x phpize ./configure make sudomakeinstall
其中,在最后使用makeinstall命令的时候,可能需要用到root的权限,所以建议使用sudo来运行。安装完之后,屏幕上会提示zip.so的位置。然后将其记录下来,如:/usr/local/lib/php/extensions/zip.so。
2、使用root权限修改php.ini(通常可能会在/usr/local/lib/文件夹下,不过视当初安装php而定,可以通过phpinfo()来查看):
增加extension=/usr/local/lib/php/extensions/zip.so,然后同样在php.ini文件中,将zlib.output_compression=Off改为zlib.output_compression=On;
3、最后别忘了重启一下Apache:apachectlrestart;
注意:关于网站有一些朋友说zlib.output_compression=Off改为zlib.output_compression=On;我在windows下没有操作在php.ini文件中也没有看到但这样确实是可以生成或解压文件。
希望本文所述对大家的PHP程序设计有所帮助。