Mag*_*ity 3 php php-zip-archive php-7.2
我正在尝试使用PHP 7.2.7创建一个加密的,受密码保护的ZIP文件。但是,我收到以下错误消息:
Attempted to call an undefined method named "setEncryptionName" of class "ZipArchive".
Run Code Online (Sandbox Code Playgroud)
http://php.net/manual/zh/ziparchive.setencryptionname.php
如果我删除了,$zip->setEncryptionName()那么一切都可以100%起作用,除了ZIP文件没有密码保护。
我已经完成了Google和论坛搜索,找不到任何遇到过类似问题的人,这可能是因为PHP版本和功能还很新。
为了使该ZipArchive::setEncryptionName方法起作用,您将需要PHP> = 7.2,并带有ZIP扩展名。
请注意ZIP扩展名需要使用libzip-dev> = 1.2.0 进行编译
许多预编译软件包中的常见问题是,编译器在编译php-zip扩展之前没有升级libzip-dev 。这可能是您的情况。
请注意,您的ZIP不会被加密,并且该setPassword()功能仅ZipArchive::setEncryptionName在不可用时用于提取zip 。
这是变更日志:http : //pecl.php.net/package-info.php? package=zip&version= 1.14.0