致命错误:未find“ZipArchive”类

我有一个问题,我在Linux服务器上安装'Archive_Zip 0.1.1',但是当我尝试运行脚本来创buildzip文件,它给了致命的错误“ 致命的错误:类'ZipArchive'中找不到— ”在那里我把代码

$zip = new ZipArchive; var_dump($zip); $res = $zip->open($filename, ZipArchive::OVERWRITE); if($res !== TRUE){ echo 'Error: Unable to create zip file'; exit; } if(is_file($src)){ $zip->addFile($src); }else{ //echo "<br>".dirname(__FILE__).$src;//'/install1'; if(!is_dir($src)){ $zip->close(); @unlink($filename); echo 'Error: File not found'; exit; } recurse_zip($src,$zip,$path_length); } $zip->close(); echo "<br>file name ".$filename; 

但没有find类文件。

请告诉我解决scheme我该怎么做才能解决问题。 我也把php.ini文件放到脚本所在的文件夹中,但是不起作用。

为了使ZipArchive类存在,PHP需要安装zip扩展 。

有关安装说明(Linux和Windows),请参阅此页面 。

在亚马逊ec2与Ubuntu + nginx + php7,我有同样的问题,解决它使用:

sudo apt-get install php7.0-zip

在Ubuntu的桌面上,我不得不这样做。

 sudo apt-get install php5.6-zip 

这安装了库,但我仍然得到相同的错误,所以我不得不重新启动Apache使用:

 sudo service apache2 restart 

它的工作。

我在这里没有看到它,所以我想补充说,在Debian / Ubuntu上,你可能需要在安装相关软件包后启用扩展。 所以:

 sudo apt-get install php-zip sudo phpenmod zip sudo service apache2 restart 

您还需要编译支持zip的PHP。 该手册说明如下:

为了使用这些函数,你必须使用–enable-zip configure选项来编译带有zip支持的PHP。

简单地在服务器上安装正确的扩展是不够的。 看看Pekka之前发布的安装说明链接。 我的回答只是对他的澄清。

PHP 5.2.0及更高版本

Linux系统

为了使用这些函数,你必须使用–enable-zip configure选项来编译带有zip支持的PHP。

视窗

Windows用户需要在php.ini中启用php_zip.dll才能使用这些function。

这工作

 apt-get install php7.0-zip 

而且不需要手动重启php7.0-fpm

 Unpacking php7.0-zip (7.0.16-4+deb.sury.org~trusty+1) ... Processing triggers for php7.0-fpm (7.0.11-1+deb.sury.org~trusty+1) ... php7.0-fpm stop/waiting php7.0-fpm start/running, process 1572 php7.0-fpm stop/waiting php7.0-fpm start/running, process 1777 Setting up php7.0-zip (7.0.16-4+deb.sury.org~trusty+1) ... locale: Cannot set LC_ALL to default locale: No such file or directory Creating config file /etc/php/7.0/mods-available/zip.ini with new version Processing triggers for php7.0-fpm (7.0.11-1+deb.sury.org~trusty+1) ... php7.0-fpm stop/waiting php7.0-fpm start/running, process 2354 php7.0-fpm stop/waiting php7.0-fpm start/running, process 2397 

首先,远程服务器的解决scheme:

如果您正在使用cPanel ,则可能已经安装了zip扩展,但未启用。 你需要激活它。 对于这种情况,你需要去cpanel>内部软件部分>点击PHP版本 。 然后findzip并检查它。 现在保存。

你应该看到像图像。 在这里输入图像说明

刷新页面。 错误应该消失。

注意:如果找不到,请联系服务器提供商。 他们会为你安装。

1)你应该require你的文件ZipArchive文件。

 require 'path/to/file/ZipArchive.php'; 

2)或者使用__autoload类的方法。 在PHP 5中,它是一个greate方法__autoload()。

 function __autoload($class_name) { require_once $class_name . '.php'; } $obj = new MyClass1(); // creating an object without require. 

http://www.php.net/manual/en/language.oop5.autoload.php