Ошибка PhpExcel в Google App Engine: недопустимый или неинициализированный объект Zip

Я пытаюсь проанализировать файл XLSX с помощью PhpExcel в Google App Engine. Когда я запускаю скрипт, он выдает мне эту ошибку: Недопустимый или неинициализированный объект Zip. Я читал другие вопросы, но они, похоже, не помогают ( PHPExcel Google App Engine не сохраняет файл для Excel2007, ( Использование phpExcel для загрузки файла xlsx с помощью Google App Engine), ( Ошибка выдачи Google App Engine для PHPExcel ). Я попытался записать файл во временную папку (sys_get_temp_dir()), но при чтении оттуда выдает ту же ошибку.

        $inputFileName = $this->Anexos_model->get_path($id_anexo);

    $temp = tempnam(sys_get_temp_dir(), 'TMP_');
    file_put_contents($temp, file_get_contents($inputFileName));

    var_dump($temp);

    $objReader = PHPExcel_IOFactory::createReader($inputFileType);
    $objReader->setReadDataOnly(true);
    $objPHPExcel = $objReader->load($temp);

Это дает мне это:

Произошла ошибка PHP

Серьезность: предупреждение

Сообщение: ZipArchive::getFromName(): недопустимый или неинициализированный объект Zip

Имя файла: Reader/Excel2007.php


person Ren    schedule 02.11.2015    source источник
comment
пожалуйста, поделитесь минимальным примером кода, который вы используете. Таким образом, пользователи Stack Overflow могут помочь...   -  person Jaap    schedule 02.11.2015
comment
Я вставил пример, чтобы проиллюстрировать, что я пытаюсь сделать.   -  person Ren    schedule 02.11.2015


Ответы (1)


Вы проверили, активен ли zlib в вашей среде php? Проверьте также свой memory_limit, если XLSX слишком велик.

person René    schedule 02.11.2015
comment
Да, по умолчанию он активен в среде Google App Engine. - person Ren; 02.11.2015
comment
Я думаю, что ограничение памяти игнорируется движком приложения. Он использует память моего экземпляра для обработки данных. Спасибо, в любом случае. - person Ren; 02.11.2015