微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为通过 Remi 的存储库安装的 PHP 安装 php-opcache

如何解决为通过 Remi 的存储库安装的 PHP 安装 php-opcache

我有一个具有以下设置的环境:

  • Centos/RHEL 8
  • 从 Remi 的存储库安装的 PHP 7.4

我已经像这样设置了已安装的 PHP

sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm 

sudo dnf -y install PHP74 PHP74-PHP-common PHP74-PHP-devel PHP74-PHP-cli PHP74-PHP-fpm

现在我想安装 PHP-opcache。但是 dnf 报告说似乎没有模块 PHP74-PHP-opcache

$ sudo dnf install PHP74-PHP-opcache

Updating Subscription Management repositories.
Last Metadata expiration check: 0:56:51 ago on Fri 04 Jun 2021 13:52:35 NZST.
No match for argument: PHP74-PHP-opcache
Error: Unable to find a match: PHP74-PHP-opcache

我相当确信这与 repos 的设置方式有关,就像在我的开发环境中一样。

$ sudo dnf -y install PHP74-PHP-opcache
Last Metadata expiration check: 0:11:18 ago on Fri 04 Jun 2021 02:36:41 PM NZST.
Dependencies resolved.
==================================================================================================================================================================================================================================
 Package                                                    Architecture                                    Version                                                      Repository                                          Size
==================================================================================================================================================================================================================================
Installing:
 PHP74-PHP-opcache                                          x86_64                                          7.4.20-1.el8.remi                                            remi-safe                                          274 k

这是dnf repolist在问题环境下的输出

$ sudo dnf repolist
Updating Subscription Management repositories.
repo id                                                                                                repo name
epel                                                                                                   Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                                                                                           Extra Packages for Enterprise Linux Modular 8 - x86_64
mod-pagespeed                                                                                          mod-pagespeed
pgdg-common                                                                                            Postgresql common RPMs for RHEL/CentOS 8 - x86_64
pgdg12                                                                                                 Postgresql 12 for RHEL/CentOS 8 - x86_64
remi-modular                                                                                           Remi's Modular repository for Enterprise Linux 8 - x86_64
rhel-8-for-x86_64-appstream-rpms                                                                       Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baSEOs-rpms                                                                          Red Hat Enterprise Linux 8 for x86_64 - BaSEOS (RPMs)

作为旁注,我尝试了 dnf install PHP-opcache。这发现很好。但它下载了 7.2 版并将 opcache.so 放在与 PHP 寻找模块的位置不同的位置,并且没有 10-opcache.ini 文件。我确实尝试将这些文件手动复制到此 PHP 安装正在查找这些文件的位置,但我收到警告

/opt/remi/PHP74/root/usr/lib64/PHP/modules/opcache.so: undefined symbol: _zval_ptr_dtor

解决方法

显然,从粘贴的 repolist 来看,“remi”存储库未启用。

要正确配置,请遵循 wizard instructions

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。