当我在新服务器上使用PHPExcel时
我遇到错误“类’ZipArchive’未找到”,它似乎被我的托管服务提供商阻止.
如果没有Zip支持,我不能在服务器上使用PHPExcel吗?
PHP 5.2.8安装在此服务器上,但我无法使用PHPExcel的基本PHP源代码.
任何帮助将不胜感激,
谢谢.
解决方法:
某些电子表格文件格式(例如,Excel 2007及更高版本用作默认格式的OfficeOpenXML)需要ZipArchive.在最新版本的PHP中,ZipArchive始终可用,但在PHP 5.3之前,它需要在某些系统上手动安装为PHP扩展.
如果您没有为PHP安装/启用ZipArchive,并且无法自己启用它,那么您可以使用
PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);
PCLZip作为PHP内置ZipArchive类的替代品包含在PHPExcel发行版中,尽管速度相当慢.即使没有ZipArchive,启用PCLZip也可以使用基于zip的电子表格格式.
但是,当我们第一次捆绑PCLZip(最初在PHPExcel 1.7.6中)时,它只是在编写基于zip的格式时的选项,而不是在阅读时.我们在PHPExcel 1.8.0中进行了更改,因此启用PCLZip现在允许您读取基于zip的格式以及编写它们.
PHPEXcel Reader文档详细介绍了不同的电子表格格式,并解释了哪些是基于zip的.
PHPEXcel Reader documentation