无法使用remi-php72 repo在Centos 7.6.1810上加载动态库'zip.so',

x3naxklr  于 2023-02-11  发布在  PHP
关注(0)|答案(3)|浏览(117)

我在获取十月CMS更新时遇到问题:
更新失败"类'ZipArchive'没有找到"在第51行/var/www/html/jdd/htdocs/vendor/october/rain/src/文件系统/Zip.php
如果我使用php-m,我会得到以下警告:
PHP警告:PHP启动:无法加载动态库'http:///www. html'(已尝试:/usr/lib64/php/modules/zip.so:zip.so/usr/lib64/php/modules/网址:/usr/lib64/php/modules/网址:无法打开共享目标文件:第0行的Unknown中没有此类文件或目录zip.so.so (/usr/lib64/php/modules/zip.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
奇怪的是,在我的/etc/php. d/文件夹中,zip.ini文件包含以下行:扩展名= zip.so。而/php. d中的所有其他. ini文件不包含. so扩展名(例如:对于json.ini文件,该行为:extension = json)。我已经尝试从zip.ini extension =行中删除. so,但仍然不起作用。
据我所知,系统只运行x86_64可执行文件(我如何绝对确定地检查这一点-所有二进制文件都显示为.x86_64或. noarch?)
我试过其他版本的php:- php 5.4安装www.example.com很好(它加载正确),除了10月需要至少php 7.0。-php 7.0到7.3都安装zip.so,但扩展仍然没有加载。zip.so fine (it loads correctly), except October requires at least php 7.0. -php 7.0 to 7.3 all install zip.so, but the extension still does not load.
有人能帮忙吗?

6ioyuze2

6ioyuze21#

我遇到了同样的问题,并找到了以下解决方案:
1.搜索已安装的php模块:
yum list installed | grep php*
1.尝试找到已安装的php-zip模块:
rpm -ql php72-php-pecl-zip
1.您将看到如下内容:

/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

1.然后在php默认搜索模块的目录中创建这个文件的符号链接:
ln -s /opt/remi/php72/root/usr/lib64/php/modules/zip.so /usr/lib64/php/modules/zip.so
经过这些步骤后,我终于在php -m输出中看到了zip扩展,现在可以使用ZipArchive类了。
你也应该重新启动你的httpd服务。

8xiog9wr

8xiog9wr2#

1 -手动下载https://pecl.php.net/package/zip上的最新ZIP pecl库
2 -在下载的文件中使用pecl进行安装

sudo pecl install zip-1.19.1.tgz

3在php.ini上启用压缩

extension=zip
pxiryf3j

pxiryf3j3#

请检查您使用的是来自remi-safe存储库的最新libzip 5版本1.5.1(这是强制性的,默认情况下启用)

相关问题