Я пытаюсь разархивировать файл с помощью класса PHP ZipArchive, но когда я пытаюсь:
$file = '/path/to/zip/file.zip';
$zip = new ZipArchive();
$res = $zip->open($file, ZipArchive::CHECKCONS);
Результат ZipArchive::ER_INCONS
(Zip-архив несовместим)
Теперь я смог открыть zip-файл на своем рабочем столе (Windows 7), а также с помощью инструмента командной строки bash
unzip
на том же компьютере, где запущено приложение PHP (Ubuntu 12.04). Я даже могу разархивировать файл в PHP, используя exec('unzip', $file);
.
Я проверил разрешения для папки кеша и zip-файла, и веб-сервер имеет разрешение на чтение и запись. Я могу открыть другой zip-файл в том же каталоге с помощью класса PHP ZipArchive.
Я не уверен, что это актуально, но zip-файл, который я пытаюсь открыть, содержит два zip-файла.
Любые идеи относительно того, почему это может происходить?