我无法更新十月CMS:
更新失败 /var/www/html/jdd/htdocs/vendor/october/rain/src/Filesystem/Zip.php
的第51行上的“找不到类'ZipArchive'”如果我使用php -m,则会收到以下警告:
PHP警告:PHP启动:无法加载动态库'zip.so'(尝试:/usr/lib64/php/modules/zip.so(/usr/lib64/php/modules/zip.so:未定义的符号:zip_libzip_version),/ usr / lib64 / php / modules / zip.so.so(/usr/lib64/php/modules/zip.so.so:无法打开共享对象文件:无此类文件或目录)第0行
奇怪的是,在我的/etc/php.d/文件夹中,zip.ini文件包含以下行:extension = zip.so。而/php.d中的所有其他.ini文件均不包含“ .so”扩展名(例如:对于json.ini文件,该行显示为:extension = json)。我尝试从zip.ini extension =行中删除“ .so”,但仍然无法正常工作。
据我所知,系统仅运行x86_64可执行文件(我如何确定地检查这一点-所有二进制文件都显示为.x86_64或.noarch?)。
我尝试了其他版本的php: -php 5.4可以很好地安装zip.so(它可以正确加载),除了October至少需要php 7.0。 -php 7.0到7.3都安装了zip.so,但是扩展名仍然无法加载。
有人可以帮忙吗?
答案 0 :(得分:1)
1-手动下载https://pecl.php.net/package/zip上的最后一个ZIP pecl库
2-使用pecl将其安装在下载的文件中
sudo pecl install zip-1.19.1.tgz
3在php.ini上启用zip
extension=zip
答案 1 :(得分:0)
请检查您是否使用的是来自remi-safe存储库的最新libzip5版本1.5.1(这是强制性的,默认情况下已启用)
答案 2 :(得分:-1)
我遇到了同样的问题,并找到了以下解决方案:
| source | target |
| ------ | ------ |
| 1 | 2 |
| 2 | 3 |
| 3 | 4 |
| 3 | -1 |
| 4 | -1 |
| 5 | -1 |
yum list installed | grep php*
rpm -ql php72-php-pecl-zip
/etc/opt/remi/php72/php.d/40-zip.ini
/opt/remi/php72/root/usr/lib64/php/modules/zip.so # <----
/opt/remi/php72/root/usr/share/doc/pecl/zip
完成此步骤后,我终于在ln -s /opt/remi/php72/root/usr/lib64/php/modules/zip.so /usr/lib64/php/modules/zip.so
输出中看到了zip扩展名,现在可以使用类php -m
。
您还应该重新启动httpd服务。