首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当试图在Amazon 2上的PHP 8上安装php-memcached时,我如何解决yum安装错误(依赖关系问题)?

当试图在Amazon 2上的PHP 8上安装php-memcached时,我如何解决yum安装错误(依赖关系问题)?
EN

Stack Overflow用户
提问于 2022-07-01 13:56:20
回答 1查看 282关注 0票数 0

我试图使用Amazon 2在PHP 8.0.18上安装PHP模块"memcached“:

代码语言:javascript
复制
PHP 8.0.18 (cli) (built: May 16 2022 19:07:27) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.18, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.18, Copyright (c), by Zend Technologies

它为我在PHP7.4上工作:

代码语言:javascript
复制
$ php -v
PHP 7.4.29 (cli) (built: May 12 2022 20:27:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.29, Copyright (c), by Zend Technologies
代码语言:javascript
复制
$ php -m
[PHP Modules]
[...]
memcached
[...]

我以前使用这个命令安装memcached:

代码语言:javascript
复制
sudo yum install php-memcached

当我试图在PHP8.0.18上运行这个命令时,我得到了以下错误:

代码语言:javascript
复制
Error: Package: php-pecl-memcached-2.2.0-1.el7.x86_64 (epel)
           Requires: php(zend-abi) = 20100525-64
           Installed: php-common-8.0.18-1.amzn2.x86_64 (@amzn2extra-php8.0)
               php(zend-abi) = 20200930-64
           Available: php-common-5.4.16-43.amzn2.x86_64 (amzn2-core)
               php(zend-abi) = 20100525-64
[...]
Error: Package: php-pecl-msgpack-0.5.5-5.el7.x86_64 (epel)
           Requires: php(api) = 20100412-64
           Installed: php-common-8.0.18-1.amzn2.x86_64 (@amzn2extra-php8.0)
               php(api) = 20200930-64
           Available: php-common-5.4.16-43.amzn2.x86_64 (amzn2-core)
               php(api) = 20100412-64
[...]
Error: Package: php-pecl-igbinary-1.2.1-1.el7.x86_64 (epel)
           Requires: php(api) = 20100412-64
           Installed: php-common-8.0.18-1.amzn2.x86_64 (@amzn2extra-php8.0)
               php(api) = 20200930-64
           Available: php-common-5.4.16-43.amzn2.x86_64 (amzn2-core)
               php(api) = 20100412-64

作为参考,这里是memcached包的样子:

代码语言:javascript
复制
$ sudo yum list | grep memcached
libmemcached.x86_64                  1.0.16-5.amzn2.0.2           @amzn2-core
libmemcached.i686                    1.0.16-5.amzn2.0.2           amzn2-core
libmemcached-devel.x86_64            1.0.16-5.amzn2.0.2           amzn2-core
memcached.x86_64                     1.4.15-10.amzn2.1.2          amzn2-core
memcached-devel.x86_64               1.4.15-10.amzn2.1.2          amzn2-core
opensips-memcached.x86_64            1.10.5-4.el7                 epel
php-ZendFramework-Cache-Backend-Libmemcached.noarch
php-pecl-memcached.x86_64            2.2.0-1.el7                  epel
php-pecl-memcached-debuginfo.x86_64  2.2.0-1.el7                  epel-debuginfo
python-memcached.noarch              1.48-4.amzn2                 amzn2-core
uwsgi-router-memcached.x86_64        2.0.18-8.el7                 epel

我对这个问题的理解是,PHP8支持最近发布了一个新的php-memcached (2022年3月28日发布的3.2.0版本):https://github.com/php-memcached-dev/php-memcached/releases

我猜想Amazon (或epel存储库)还没有这个新版本。

我该怎么做?我一定要等亚马逊吗?从另一个位置安装模块安全吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-14 17:17:25

我在这里的目标是用PHP 8安装php-memcached模块,这个模块是我以前用来与的memcache服务器集成的。

问题是该模块不在Amazon上的PHP 8存储库中。它可在PHP7.4上使用。

我原以为亚马逊需要时间才能添加这个更新的模块,但4个月过去了,一切都没有改变。

我需要将我的服务器切换到PHP 8,因为PHP7.4正在结束对它的支持,并在这里做了更多的研究。更好的解决方案是使用亚马逊提供的PHP群集客户端:https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Appendix.PHPAutoDiscoverySetup.Installing.html#Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.Ubuntu

代码语言:javascript
复制
sudo yum install gcc-c++ zlib-devel
wget https://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-7.X/latest-64bit-<ARCH>-<OpenSSL>
tar -zxvf latest-64bit-<ARCH>-<OpenSSL>
sudo mv amazon-elasticache-cluster-client.so /usr/lib64/php/modules/

链接页面提供了更多信息。

我能够让memcached客户端使用这个页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72830390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档