2014-10-30 5 views
2

새 서버에서 PHPExcel을 사용할 때 "Class 'ZipArchive'not found"오류가 발생하여 호스팅 서비스 공급자에 의해 차단 된 것으로 보입니다.PHPExcel을 사용하는 중에 'ZipArchive'클래스를 찾을 수 없습니다.

Zip을 지원하지 않는 서버에서 PHPExcel을 사용할 수 없습니까? PHP 5.2.8이이 서버에 설치되었지만 PHPExcel에 기본 PHP 소스 코드를 사용할 수 없습니다.

도움이 되겠습니다. 감사합니다.

+0

5.2.8 시스템에는 ['ZipArchive'] (http://php.net/manual/class.ziparchive.php)가 있어야합니다. 어쨌든 5.2는 더 이상 지원되지 않습니다 (http://php.net/eol.php). 더 나은 호스트로 이동해야합니다 – Phil

+0

PHP 5.2.8 만 사용하는 경우 PHP를 활성 지원으로 남아있는 버전으로 업그레이드 할 때까지 호스팅 제공 업체에 hobnail 부팅을 맡길 것을 강력히 권장합니다 –

+0

가능 [PHPExcel ZipArchive not found] (https://stackoverflow.com/questions/25176999/phpexcel-ziparchive-not-found)의 중복 – algorhythm

답변

8

Excel 2007 이상에서 기본 형식으로 사용되는 OfficeOpenXML과 같은 일부 스프레드 시트 파일 형식에는 ZipArchive가 필요합니다. 가장 최근의 PHP 버전에서는 ZipArchive를 항상 사용할 수 있지만 PHP 5.3 이전에는 PHP 확장으로 일부 시스템에 수동으로 설치해야했습니다. 당신이 ZipArchive 설치하지 않은 경우

/당신의 PHP를 사용할 수, 그리고 직접 사용할 수 없습니다, 당신은 PCLZip가 내장 된 PHP의 대안으로 PHPExcel 배포판에 포함되어

PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP); 

사용할 수 있습니다 - ZipArchive 클래스에서, 꽤 느리다. PCLZip을 사용하면 ZipArchive 없이도 Zip 기반 스프레드 시트 형식으로 작업 할 수 있습니다.

그러나 처음에는 PCLZip (원래 PHPExcel 1.7.6)을 번들로 제공했을 때,이를 읽을 때가 아닌 zip 기반 형식을 쓸 때만 옵션이었습니다. PHPExcel 1.8.0에서이 기능을 변경하여 PCLZip을 활성화하면 zip 기반 형식을 읽고 쓸 수 있습니다.

PHPEXcel Reader 문서는 다른 스프레드 시트 형식을 자세히 설명하고 zip 기반 형식을 설명합니다. PHPEXcel Reader documentation

+0

정말요? doco는 PHP 5> = 5.2.0이라고 말합니다. – Phil

+1

docs가 말하는 것과 상관없이 5.3.0 이전 버전의 Windows 플랫폼에서 사용할 수있는 문제는 분명 있었으며 Linux 빌드 용으로 구성되어야한다고 생각합니다 뿐만 아니라 ... 나는 많은 사람들에게 ZipArchive를 사용할 수 없다는 문제를 다루어야했기 때문에 PCLZip 대안을 소개해야만했습니다. –

+0

답장을 보내 주셔서 감사합니다. 그것은 내가 무엇이 잘못되었는지 이해하는 데 도움이되었습니다. PHPExcel_Settings :: setZipClass (PHPExcel_Settings :: PCLZIP); ? –

관련 문제