找不到类ZipArchive,但已安装并启用了zip扩展

时间:2017-11-26 12:23:01

标签: php phpexcel ziparchive php-7.1

我正在使用PHPExcel来读取充满客户数据的excel文件。

    $file = $this->suppdata['impfile'];
    $type = PHPExcel_IOFactory::identify($file);
    $objReader = PHPExcel_IOFactory::createReader($type);
    $objPHPExcel = $objReader->load($file);

    $objPHPExcel->setActiveSheetIndex(0);

    $highestRow = $objPHPExcel->getActiveSheet()->getHighestRow();
    $highestColumn = $objPHPExcel->getActiveSheet()->getHighestColumn();

    $data = $objPHPExcel->getActiveSheet()->rangeToArray(
        'A7:' . $highestColumn . $highestRow,
        NULL,TRUE,FALSE
    );

没什么特别的。特别之处在于,我在exec启动的后台进程上运行此代码。我这样做是因为加载和(进一步)处理数据可能需要一些时间,我不希望用户等待这一点。它适用于CSV和TXT文件,据我所知使用来处理XLS(X)。

现在,在处理XLSX文件时,我收到此错误:

Class 'ZipArchive' not found

显而易见的方法是检查zip扩展是否已启用,如果未启用,则启用它。我这样做了,但phpinfo()显示已加载并启用的zip扩展名。

该项目使用PHP 7.1.11在Ubuntu 16.04上运行。在我的本地机器上,我使用Windows 10和PHP 7.1.11,一切正常。

所以问题是,为什么上面的脚本禁用了扩展,但一般都启用了?

0 个答案:

没有答案