今天在Linux底下编写导出EXCEL文件并显示输出时,抛出“ZipArchive library is not enabled” 的异常。而我在本地的windows下的代码则是运行正常的。
原因是:在Linux下没有php_zip.dll这个文件(有也不会起作用的),所以需要重新编译一下php的zip模块。
在Unix/Linux下的解决办法 :
wget http://pecl.php.net/get/zip
tar zxvf zip
cd zip-1.13./
locate phpize
/usr/local/php/bin/phpize
locate php-config
./configure --with-php-config=/usr/local/php/bin/php-config&&make&&make install Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
cd /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
ls
memcache.so opcache.so xcache.so zip.so
在php.ini 文件中添加:
extension_dir=/usr/local/php/lib/php/extensions/no-debug-zts-/
[xcache-common]
extension = xcache.so
extension = memcache.so
extension = zip.so
然后同样在php.ini文件中,将zlib.output_compression = Off 改为 zlib.output_compression = On ;
重新启动apache 或者nginx 查看。