Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:类';ZipArchive';在中找不到_Php_Zip_Ziparchive - Fatal编程技术网

Php 致命错误:类';ZipArchive';在中找不到

Php 致命错误:类';ZipArchive';在中找不到,php,zip,ziparchive,Php,Zip,Ziparchive,我有一个问题,我在Linux服务器上安装了'Archive_Zip 0.1.1',但是当我试图运行脚本来创建Zip文件时,它会给出致命错误 致命错误:在 我把密码放在哪里了 $zip = new ZipArchive; var_dump($zip); $res = $zip->open($filename, ZipArchive::OVERWRITE); if ($res !== TRUE) { echo 'Error: Unable to create zip file';

我有一个问题,我在Linux服务器上安装了'Archive_Zip 0.1.1',但是当我试图运行脚本来创建Zip文件时,它会给出致命错误

致命错误:在

我把密码放在哪里了

$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;
$zip=新的ZipArchive;
var_dump($zip);
$res=$zip->open($filename,ZipArchive::OVERWRITE);
如果($res!==TRUE){
echo“错误:无法创建zip文件”;
出口
}
if(is_文件($src)){
$zip->addFile($src);
}否则{
//echo“
”.dirname(_文件).$src;//'/install1'; 如果(!is_dir($src)){ $zip->close(); @取消链接($filename); echo“错误:未找到文件”; 出口 } recurse_-zip($src,$zip,$path_-length); } $zip->close(); echo“
文件名”。$filename;
但是它找不到类文件

请告诉我解决办法。我应该如何解决这个问题? 我还将
php.ini
文件放在脚本所在的文件夹中,但它不起作用。

要显示脚本,php需要安装脚本

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

1)您应该
需要
您的文件和
ZipArchive
文件

require 'path/to/file/ZipArchive.php';
2) 或者使用类的
\u autoload
方法。 在PHP5中,它是一个greate方法_autoload()


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

为了使用这些函数,必须使用--enable-zip-configure选项编译支持zip的PHP

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

PHP5.2.0及更高版本

Linux系统

为了使用这些函数,必须使用--enable-zip-configure选项编译支持zip的PHP

窗户


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

在使用Ubuntu+nginx+php7的Amazon ec2上,我遇到了同样的问题,使用以下方法解决了它:


sudo apt get安装php7.0-zip

在ubuntu桌面上,我不得不这么做

sudo apt-get install php5.6-zip
这安装了库,但我仍然不断收到相同的错误,因此我必须使用以下命令重新启动apache:

sudo service apache2 restart
它成功了

这起作用了

apt-get install php7.0-zip
无需手动重新启动php7.0-fpm

解包
php7.0-zip
7.0.16-4+deb.sury.org~trusty+1
)…
处理php7.0-fpm的触发器(
7.0.11-1+deb.sury.org~trusty+1
)…
php7.0-fpm
stop/waiting
php7.0-fpm
启动/运行,进程1572
php7.0-fpm
stop/waiting
php7.0-fpm
启动/运行,流程1777
设置
php7.0-zip
7.0.16-4+deb.sury.org~trusty+1
)…
语言环境:无法将
LC\u ALL
设置为默认语言环境:没有这样的文件或目录

使用新版本创建配置文件
/etc/php/7.0/mods available/zip.ini
处理php7.0-fpm的触发器(
7.0.11-1+deb.sury.org~trusty+1
)…
php7.0-fpm
stop/waiting
php7.0-fpm
启动/运行,进程2354
php7.0-fpm
stop/waiting
php7.0-fpm
启动/运行,流程2397


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

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

首先,远程服务器解决方案:

如果您使用的是cpanel,则可能安装了zip扩展,但未激活。你需要激活它。对于这种情况,您需要转到cpanel>内部软件部分>单击PHP版本。然后找到zip并检查它。现在保存

您应该看到与图像类似的内容。

刷新页面。错误应该消失


注意:如果找不到,请与服务器提供商联系。它们将为您安装。

如果您有WHM,安装起来会更容易

登录到WHM

转到软件选项卡下的EasyApache4(或您拥有的任何版本)

在“当前安装的软件包”下,单击“自定义”

转到PHP扩展,在搜索类型“zip”(不带引号)中

您应该看到3个模块

全部检查一下

单击蓝色按钮几次以完成此过程

这对我有用。
谢天谢地,我有WHM可用。

我在安装了CentOScPanel的服务器上遇到了同样的问题。我通过cPanel安装了zipArchive包,但没有按预期工作。 在尝试了这么多的修复后,我发现每一个地方都有下面这些对我有用的地方

首先用下面的命令找到正确包的名称

yum search zip |grep -i php
然后使用下面的代码

yum install your_zip_package_name_with_php_version
在我的例子中,安装zipArchive的正确代码是

yum install php-pecl-zip.x86_64
我从这个链接得到了解决方案。

这次安装不知何故也启用了该软件包,它还重新启动了有效的服务,并且在完成上述代码的执行后,zipArchive问题消失了。

Centos 6 或者任何基于RHEL的口味

yum install php-pecl-zip

service httpd restart

我遇到了同样的问题,它使用两个命令行解决了:

sudo-apt-install-php-zip

然后重新启动Apache的web服务器


sudo服务apache2重启

在应用引擎标准环境中部署wordpress时,我在GCP上遇到了这个问题。这就解决了它:

sudo apt-get install php7.2-zip

适用于PHP7.x

sudo apt-get install php-zip
sudo apt-get install php5.x-zip
// (for example sudo apt-get install php5.6-zip)
适用于PHP 5.x

sudo apt-get install php-zip
sudo apt-get install php5.x-zip
// (for example sudo apt-get install php5.6-zip)
然后重新启动Apache服务器

sudo service apache2 restart

适用于Remi上的Centos 7和PHP 7.3

搜索zip扩展名:

$yum搜索php
sudo apt-get install php5.6-zip
sudo service apache2 restart
   php -m
   php -version
apt-get update 
apt-get install php7.2-zip
systemctl restart apache2
FROM php:7.3-apache 

RUN set -eux \
    && apt-get update \
    && apt-get install -y libzip-dev zlib1g-dev \
    && docker-php-ext-install zip