在做thinkPHP 后台备份文件生成zip压缩包的时候,本地的程序一直是测试成功的,但当把此程序放在服务器上的时候却一直不成功,打印提示错误“ZipArchive” not found,所以查找资料如下:使用的是Windows下的解决办法,按下面的指示,程序运行成功;
出现这个错误说明是程序在调用'ZipArchive' 这个类的时候没有成功,原因是由于在安装php的时候没有增加php zip的支持(非zlib)。
在Windows下的解决办法是:
1、在php.ini文件中,将extension=php_zip.dll前面的分号“;”去除;
(如果没有,请添加extension=php_zip.dll此行并确保php_zip.dll文件存在相应的目录==》确保php/ext/下有php_zip.dll)
然后同样在php.ini文件中,将 zlib.output_compression = Off 改为 zlib.output_compression = On ;
2、重启Apache服务器。
在Unix/Linux下的解决办法:
1、在Linux下没有php_zip.dll这个文件(有也不会起作用的),所以需要重新编译一下php的zip模块。具体安装方法如下:
cd /usr/src
wget http://pecl.php.net/get/zip
tar -zxvf zip
cd zip-1.x.x
phpize
./configure
make
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;
这个针对php的zip模块就安装完成了,能够在php中使用ZipArchive类了。ps:查看php.ini文件位置的方法是:
第一次来访,表示支持
期待楼主的更新
看似很简单的一句话,或许都能
第一次来访,表示支持 cg
不明觉厉啊,呵呵
中国博客联盟已经收录您的博客
没有用过虚拟主机。
博客很好很给力 😉