简体   繁体   中英

Class 'ZipArchive' not found: install it as non-root?

I am trying to implement a simple script that ZIPs up a text file but ZIPArchive() is not available on my server. Here is an example of my code:

<?php
$zip = new ZipArchive();
$filename = "./PJR.v2.zip";
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}
if ($handle = opendir('WORKDIR')) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {
        $zip->addFile($entry);
        }
    }
  closedir($handle);
}
$zip->close();
?>

When I run it from the command line, I get

PHP Fatal error:  Class 'ZipArchive' not found in /users/albert/zip_POC.v2.php on line 2

This is the version info on my server:

php -v
PHP 5.1.6 (cli) (built: Nov 12 2008 11:22:53)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

Is there a way that I can install that class even though I am not the 'root' user??

EDIT :

PHP was not compiled on my server with ZIP support. The configure command section of PhpInfo() does not show the --enable-zip option. PECL is not installed either so I cannot workaround my problem with pecl install zip either.

如果您无法使用ZipArchive进行安装或重建,那么也可以尝试使用纯PHP PCLZip库

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM