当前位置:首页 > PHP教程 > php应用 > 列表

php使用ZipArchive提示Fatal error: Class ZipArchive not found in

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-09 15:13:23 浏览: 评论:0 

ZipArchive是php自带的一个压缩与解压缩函数了,今天理所当然的情况中使用new ZipArchive来创建zip文件时碰到提示Fatal error:Class ZipArchive not found in错误,下面php粉丝网小伙伴就此问题来看看排除办法.

测试代码如下:

  1. //PHP解压缩文件(zip) 
  2. function unzip_file($file$destination){ 
  3. $zip = new ZipArchive() ; 
  4. //打开压缩文件 
  5. if ($zip->open($file) !== TRUE) { 
  6. die ('Could not open archive'); 
  7. //开源软件:phpfensi.com 
  8. //创建文件 
  9. $zip->extractTo($destination); 
  10. $zip->close(); 
  11. echo '成功'
  12. unzip_file("htdocs.zip","wenjianming"); 

执行时发现:Fatal error: Class 'ZipArchive' not found in E:wwwqqdown.php on line 63 看这个不是未定义了,所以小编百度搜索一下,如下如下解说.

在Windows下的解决办法是:

1、在php.ini文件中,将extension=php_zip.dll前面的分号“;”去除.

重启Apache服务器,我们再试发现可以了.

补充如果是linux系统参考下面方法

在Linux下没有php_zip.dll这个文件,需要重新编译一下php的zip模块,具体安装方法如下:

  1. cd /usr/src 
  2. wget http://pecl.php.net/get/zip 
  3. tar -zxvf zip 
  4. cd zip-1.x.x 
  5. phpize 
  6. ./configure 
  7. make 
  8. sudo make instal 

其中,在最后使用make install命令的时候,可能需要用到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:apachectl restart;

注意:关于网站有一些朋友说zlib.output_compression = Off 改为 zlib.output_compression = On;我在windows下没有操作在php.ini文件中也没有看到但这样确实是可以生成或解压文件哦.

Tags: ZipArchive Fatal error:Class

分享到: